我试图在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)。
有人知道如何解决这个问题吗?
谢谢!