小编Ice*_*Box的帖子

"失败 - 网络错误"当尝试使用"下载"属性在HTML5中提供下载时

我正在尝试做的基本摘要:

  • 从用户获取文件(使用"dropzone"拖放引导程序模块来接收文件)
  • 修改并对文件执行一些"工作"
  • 将文件一起压缩为单个文件以供下载
  • 发送下载回用户下载(自动或链接,详见下文)

上面的粗线是那个不起作用的线,我正试图想出来.以下是该文章的相关HTML和javascript:

<button type="button" class="btn btn-primary" id="transform">
    <span class="glyphicon glyphicon-wrench"></span>
    Transform Uploaded Files
</button>
<a id="test_dl" href="" download="user_download.zip">
    Download File
</a>
$('#transform').click(function (e) {

    $.getJSON('/transform', {}, function (final_zip){
        var zipfile = "file://" + final_zip.zip_filename

        $('a#test_dl').attr("href", zipfile)
    });
});
Run Code Online (Sandbox Code Playgroud)

用户单击"转换上载的文件"按钮,然后将href更新为生成的zipfile位置,然后通过单击"下载文件"HTML下载生成的包.

到目前为止,我已经在Chrome中对此进行了测试并使用了开发人员控制台,我可以看到在点击下载按钮之前href正在正确更新,但它总是会出现"失败 - 网络错误"对话框.奇怪的是,当我点击"显示所有下载"然后点击失败的下载时,它就成功完成了.

问题我希望得到解答

  • 这里看起来有什么问题?
  • 这甚至是正确的方法吗?我正在尝试做的就是在完成该过程后将文件发送回用户.我担心"file://"无论如何都不正确,当服务器实际远离使用它的用户时,我会失败(目前它是本地的,因为我正在开发它)

编辑:我应该补充一点,这个后端目前正在Python的Flask上运行

html javascript python jquery flask

18
推荐指数
2
解决办法
2万
查看次数

标签 统计

flask ×1

html ×1

javascript ×1

jquery ×1

python ×1