我的表格有字段:
<div class="form-group">
<label>Email Address</label>
<input type="email" ng-model="email" class="form-control">
</div>
<div class="from-group">
<label>Photo</label>:
<input type="file" ngf-select ng-model="picFile" name="file" accept="image/*" ngf-max-size="2MB" required>
</div>
<div class="form-group">
<input ng-click="uploadPic(picFile)" type="submit" class="btn btn-lg btn-default pull-right btn-block"value="Register">
</div>
在控制器中(使用ng-file-upload):
$scope.uploadPic =
function(file) {
console.log('Uploading image...');
Upload.upload({
url : 'upload',
data : {
email : $scope.email,
file : file
})};
我不知道如何在服务器中收到此类对象。我试过这样的事情:
@POST
@Path("/upload")
@Produces(MediaType.MULTIPART_FORM_DATA)
public void upload(@FormDataParam("file") InputStream fileIputStream,
@FormDataParam("email") String email) {}
但是我觉得问题出在InputStream中,因为发送的对象是不同的类型?如果客户端的代码有效,如何在服务器上接收和保存图像? 再一次,app在客户端使用AngularJS,在服务器端使用Jersey开发。
答案 0 :(得分:0)
解决方案,我认为:
首次下载:
然后添加:
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>org.glassfish.jersey.filter.LoggingFilter;
org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>
进入web.xml文件,在<servlet>
内。