Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;失败-网络错误“;尝试使用'提供HTML5下载时;下载';属性 我尝试做的基本总结: 从用户获取文件(使用“dropzone”拖放引导模块接收文件) 修改并对文件进行一些“工作” 将文件压缩到一起,以便下载单个文件 将下载内容发送回用户进行下载(自动或通过链接,详情如下)_Javascript_Jquery_Python_Html_Flask - Fatal编程技术网

Javascript &引用;失败-网络错误“;尝试使用'提供HTML5下载时;下载';属性 我尝试做的基本总结: 从用户获取文件(使用“dropzone”拖放引导模块接收文件) 修改并对文件进行一些“工作” 将文件压缩到一起,以便下载单个文件 将下载内容发送回用户进行下载(自动或通过链接,详情如下)

Javascript &引用;失败-网络错误“;尝试使用'提供HTML5下载时;下载';属性 我尝试做的基本总结: 从用户获取文件(使用“dropzone”拖放引导模块接收文件) 修改并对文件进行一些“工作” 将文件压缩到一起,以便下载单个文件 将下载内容发送回用户进行下载(自动或通过链接,详情如下),javascript,jquery,python,html,flask,Javascript,Jquery,Python,Html,Flask,上面的粗线是一条不起作用的线,我正在努力弄清楚。以下是该文章的相关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" hre

上面的粗线是一条不起作用的线,我正在努力弄清楚。以下是该文章的相关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)
    });
});

转换上载的文件
$(“#转换”)。单击(函数(e){
$.getJSON('/transform',{},函数(final_-zip){
var zipfile=“file://”+final\u zip.zip\u文件名
$('a#test_dl').attr(“href”,zipfile)
});
});
用户单击“转换上传的文件”按钮,然后将href更新到生成的zipfile位置,然后可以通过单击“下载文件”HTML下载生成的包

到目前为止,我已经在Chrome上对此进行了测试,使用开发者控制台,我可以看到href在点击下载按钮之前得到了正确的更新,但它总是会显示一个“失败-网络错误”对话框。奇怪的是,当我点击“显示所有下载”,然后点击失败的下载,它成功完成

我希望得到回答的问题
  • 这里出现了什么问题
  • 这样做对吗?我所要做的就是在处理完成后将文件发送回用户。我担心“file://”无论如何都是不正确的,当服务器与使用它的用户实际距离较远时,它会使我失败(目前它是本地的,因为我正在开发它)

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

显然这是Chrome的问题,数据URL太长了。我自己还在研究,但显然有一些解决方案涉及Blob对象

请看这里:

这里:

基于这里,我是如何为这个问题实施解决方案的:

请注意,我只需要一个Chrome-web解决方案,所以这就是我使用的。对于完整的解决方案,您需要查看原始answ中的示例

$.ajax({
    url: "/getData",
    dataType: "text",
    success: function(data){            
        $("#download").attr({
            "value": "Download",
            "href": URL.createObjectURL(new Blob([data], {
                  type: "application/octet-stream"
            })),
            "download": "outputFile.csv"
        });
    }
});