当前位置: 首页 > 知识库问答 >
问题:

通过AJAX上传到Azure云存储的文件损坏

施景同
2023-03-14

我正在使用Dropzone.js将文件上传到Azure云存储桶中。

这些文件正在上传到bucket,但当我下载它们时,它们已经损坏了。

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';


        }
    });
});

我到处都找过了。我没有上传在块,一切似乎都在那里,但无论什么类型的文件我上传,它是破坏与我重新下载它。

共有1个答案

章嘉致
2023-03-14

尝试将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;
    }
});
 类似资料:
  • 问题内容: 我使用2个文件index.js,upload.php尝试通过ajax上传文件(img),如果成功追加到div 。 但是它不起作用,有几个问题,下面我的代码有什么建议吗? 谢谢。 upload.php 1. 还需要添加吗? 2. 并检查$ _FILES的大小或tmp_name是否仍使用? index.js 3.这几行是对的吗? 4.我错过或错了什么吗? 问题答案: 在其构造函数中接受一个

  • 在我们的应用程序中,我们让用户选择一个文件夹,然后将该文件夹中的所有文件作为多部分格式数据上传到我们的服务器(Azure App Service)。 在Azure blob storage SDK for JS中,我们可以找到上传单个文件的方法。是否有一种方法可以在一个请求中将多个文件上传到Azure Blob容器中的特定文件夹?

  • 我想按照官方文档中提供的示例将一个文件上传到Google云存储 然而,我得到了一个错误: 线程“main”com.google.cloud.storage.StorageException中的异常:获取服务帐户的访问令牌时出错:400个错误请求{“错误”:“无效的授予”、“错误描述”:“无效的JWT:令牌必须是短期令牌(60分钟)并且在合理的时间范围内。请检查JWT声明中的iat和exp值。”位于

  • 从spring boot Controller上传文件到谷歌云存储。请提供我一个代码。 到目前为止,我得到了这样一个代码

  • 我只是上传文件到谷歌云存储使用签名网址与Ajax上传。 已经完全上传了。但尝试从Bucket下载文件时,文件会像媒体文件一样损坏,否则pdf、txt文件工作正常。有什么建议请建议我谢谢。