我正在尝试通过 REST API 将上传到 HTML 文件输入的附件发布到网页。API 文档指出,该帖子是作为 HTTP 请求正文的直接二进制内容,而不是表单文件上传。
我的代码如下:
$('#_testButton').bind('click', function () {
var file = document.getElementById('_testFile').files[0]
var reader = new FileReader();
reader.onload = function () {
$.ajax({
url: '/attachmentURL',
type: 'POST',
data: reader.result
})
}
reader.readAsBinaryString(file)
})
我需要它适用于许多不同的 mimeType,所以我没有在上面的代码中声明它。但是,我尝试为 .doc 文件声明 contentType:'application/msword',还尝试了 processData:false 和 contentType:false。
数据被发布在它应该发布的地方。但是,当我打开文件时,我收到一条消息,显示 mimeType:application/x-empty 带有一个空文件或一个带有一堆二进制字符的文件。我试过 .doc 文件和 pdf 文件,结果是一样的。
有谁知道我可以改变什么来完成这项工作?