Jersey RESTful WebServiceフレームワーク学習(7)ファイルアップロード


もっと読む
jarバッグを紹介します。ジェームズ-media-multipart-2.2.jar
フロントエンド:

	
	
angular.module("uploadApp", []).controller("uploadCtrl", function($scope, $http) { $scope.commonFileChanged = function() { var $$fd = new FormData(); var _file = document.getElementById("commonFile"); $$fd.append('file', _file.files[0]); $http({ method : 'post', data : $$fd, // uri url : "/Jersey/api/1.0/my/upload", headers : { 'Content-Type' : undefined }, /* formdata object*/ transformRequest : angular.identity }).success(function(data) { alert(angular.toJson(data)); }); }; }); angular.bootstrap(document, [ 'uploadApp' ]);
バックエンド:
@POST
	@Consumes(MediaType.MULTIPART_FORM_DATA)
	@Path("/upload")
	@Produces({ MediaType.APPLICATION_JSON + ";charset=UTF-8" })
	public String upload(@FormDataParam("file") InputStream fileInputStream,@FormDataParam("file") FormDataContentDisposition disposition) {
		String nFileName = disposition.getFileName();
		File file = new File("D:\\file\\" + nFileName);
		try {
			//   common io       
			FileUtils.copyInputStreamToFile(fileInputStream, file);
		} catch (IOException ex) {
			ex.printStackTrace();
		}
		return "{\"success\",\"true\"}";
	}