簡體   English   中英

上傳圖片並將其發送到服務器(AngularJS和Jersey)

[英]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開發的。

解決方案,我認為:

首次下載:

  1. 新澤西媒體多,2.17.jar
  2. mimepull-1.9.3.jar

然后加:

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM