我正在使用dropzone.js将文件上传到Azure云存储分区。
文件正在上传到存储桶,但是当我下载它们时,它们已损坏。
我的dropzone设置如下:
var printDropzone = new Dropzone("#printDropZone", { method: 'post', maxFiles: 1 });
printDropzone.on('sending', function (file, xhr, formData) {
xhr.setRequestHeader("x-ms-blob-type", "BlockBlob");
xhr.setRequestHeader('Content-Length', file.size);
});
printDropzone.on('processing', function (file, xhr) {
$.ajax({
url: '/api/sas',
type: 'GET',
async: false,
success: function (response) {
var timeStamp = Math.floor(Date.now() / 1000);
upload = timeStamp + '-' + file.name;
printDropzone.options.url = response.HostingSite + '/' +upload + response.Token;
printDropzone.options.method = 'put';
}
});
});
请求如下所示:
接受:应用/ JSON
Accept-Encoding:gzip,deflate,sdch
接受语言:EN-US,EN; Q = 0.8
缓存控制:无缓存
连接:保持活跃
内容长度:23684
内容类型:多部分/格式的数据; boundary = ---- WebKitFormBoundaryALPTivVAxkgUv5lv
DNT:1个
主持人:somehost.net
起源:http://localhost:2130
引用者:http://localhost:2130/
User-Agent:Mozilla / 5.0(Windows NT 6.3; WOW64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 44.0.2403.107 Safari / 537.36
X-MS-BLOB类型:BlockBlob
X-Requested-With:XMLHttpRequest
我到处寻找。我没有上传的内容,似乎一切都在那里,但无论我上传什么类型的文件,我都会重新下载它。
答案 0 :(得分:0)
尝试将multipart设置为false。
printDropzone.on('processing', function (file, xhr) {
$.ajax({
url: '/api/sas',
type: 'GET',
async: false,
success: function (response) {
var timeStamp = Math.floor(Date.now() / 1000);
upload = timeStamp + '-' + file.name;
printDropzone.options.url = response.HostingSite + '/' +upload + response.Token;
printDropzone.options.method = 'put';
printDropzone.options.multipart = false;
}
});