ajax可不可以对后台用PUT方式传送文件,后台通过restful的PUT方法接收?

@RequestMapping(value = "User", method = RequestMethod.PUT)
@ResponseBody
public String update(HttpServletRequest request, HttpServletResponse response, MultipartFile file) throws UnsupportedEncodingException {
        System.out.println(file.getName());
        return null;
}
//传送文件时总会报错,不知道AJAX要怎么写,希望建议详细点
 var fileObj = document.getElementById(inputId).files[i];
// 获取要传输的文件------假设只有一个文件
var file = document.getElementById(inputId).files[0];

$.ajax({
    url: URL,
    type: "POST",  
    async: false,  
    cache: false, 
    processData: false,// 告诉jQuery不要去处理发送的数据
    contentType: false,// 告诉jQuery不要去设置Content-Type请求头
    data: file,
    success: function(data){
        alert(data);
    },
    error: function(err) {
        alert(err);
    }
});

格式大概是这样的,修改修改就行了。主要传文件注意设置contentType对就行了。

把文件转为base64位字符串,就可以传字符,后台接收字符串,转起来很简单