无法使用 dojo 1.9 上传文件

Unable to Upload a file using dojo 1.9

本文关键字:文件 dojo      更新时间:2023-09-26

由于我正在尝试使用 dojox 上传器上传我的个人资料图片,因此我无法使用带有方法发布或放置的表单上传文件(因为我可以更新我的图片)。下面我添加了我的部分功能,

    request.post(url, {
              data: {
              data:domForm.toObject("profileForm"),  //complete form
              attachment:dijit.byId("attachment")._files[0].name // attachment
              },
              handleAs : "json",
              timeout: 2000,
            headers: {
                        'userId' : userId,
                        'companyId' : companyId,
                        'token' : token,
                         "Content-Type" : "multipart/form-data",
                        'Accept': 'application/json' 
            }

我的 HTML 部分,

    <form id="profileForm" enctype="multipart/form-data" action="" method="post">
                <input name="attachment" multiple="false" type="file" data-dojo-type="dojox/form/Uploader" label="Select Some Files" id="attachment" />
                <input type="button" class="submit" value="submit" id="profilebtnId" onclick="changeProfilePic();" /> 
    </form>

爪哇代码:

   @Path(UserRESTOperations.PROFILE_PIC)
    @POST //@PUT
    @Consumes({ MediaType.MULTIPART_FORM_DATA})
    public Response setUserProfilePic(@PathParam(RestPathConstants.ID_PARAM) Integer userId,
            @Context HttpServletRequest request) {}

我能够点击 API,但无法将内容(请求)传递给后端(java)。对不起我的格拉默。

我遇到了类似的问题,最终使用了FormData.

var attachment = dijit.byId('attachment').inputNode.files[0];
var formData = new FormData();
formData.append('attachment', attachment);
request.post(url, {
    data: formData
    , handleAs: 'json'
    , headers: {
        Accept: 'application/javascript, application/json'
        , 'Content-Type': false
    }
});