Ajax将希伯来字符发送到服务器

时间:2017-04-06 08:09:23

标签: javascript java ajax model-view-controller jersey

我试图在ajax请求中发送希伯来字符, 这是服务器端代码:

@POST
    @Path("/upload")
    @Consumes(MediaType.MULTIPART_FORM_DATA+ ";charset=utf-8")
    @Produces({ MediaType.APPLICATION_JSON + ";charset=utf-8" })
    public Response uploadFile(@FormDataParam("file") InputStream fileInputStream,
    @FormDataParam("file") FormDataContentDisposition contentDispositionHeader,@Context UriInfo info) {some code....}

此函数获取inputStream个对象 - 要上传的文件,以及包含文件名的FormDataContentDisposition - 对象,

我的问题是,当希伯来语中的文件名写入时,函数会以乱码的形式出现, (此函数@consumes包含utf-8但不起作用。)

这是我的ajax请求代码:

 var fd = new FormData();
         fd.append('file', files[i].file);
         fd.append('title', "תמונה.jpg");
     $.ajax({
             //loading progress
             beforeSend: function(){
                    $('#loader').addClass('overlay');
                },
              complete: function(){
                    $('#loader').removeClass('overlay');
                  },

             type: 'POST',
             url: global.rootURL + 'documents/upload/' + "?rashutId=" + '140' + "&propertyId=" + propertyId+ "&title=" + titles[i]+"&taskId="+imageTaskId+"&imageId="+imageId+"&draftInd="+draftInd+"&isDeleted="+isDeleted,
             data: fd,
            async:false,
             processData: false,
            contentType: false,
             dataType: 'text',
             success: function(data, status) {


             },
             error: function(data, status) {

                 flag=false;


             }
         });

我试图将contentType参数更改为“charset:utf-8”,但它无法正常工作我从服务器收到错误(错误代码415)。

有人知道如何解决这个问题吗?

谢谢!

0 个答案:

没有答案