[英]Upload picture and send it to server(AngularJS & Jersey)
我有領域的形式:
<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中,因為發送的對象是不同的類型? 如果客戶端上的代碼有效,則如何在服務器上接收和保存圖像? 再有一次,應用程序是使用客戶端上的AngularJS和服務器端上的Jersey開發的。
解決方案,我認為:
首次下載:
然后加:
<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>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.