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

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

宋原
2023-03-14
  • 从用户处获取文件(使用“dropzone”拖放引导模块接收文件)
  • 修改并对文件进行一些“工作”
  • 将文件压缩到一起,以便下载单个文件
  • 将下载内容发送回用户进行下载(自动或通过链接,详情如下)

上面的粗线是不起作用的,我正在努力弄清楚。以下是相关的超文本标记语言和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)
    });
});

用户单击"转换上传文件"按钮,然后将href更新到生成的zipfile位置,然后能够通过单击"下载文件"超文本标记语言下载生成的包。

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

  • 这里似乎出了什么问题?
  • 这是正确的方法吗?我所要做的就是在流程完成后将文件发送回用户。我担心文件://无论如何都是不正确的,当服务器实际上远离使用它的用户时,它会让我失败(目前它是本地的,因为我正在开发它)

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

共有2个答案

孟海
2023-03-14

基于如何将JavaScript数组信息导出到csv(客户端)?以下是我如何实现此问题的解决方案:

请注意,我只需要一个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"
        });
    }
});
宰父俊民
2023-03-14

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

看到这里:下载画布作为PNG在fabric.js给网络错误

这里:如何将JavaScript数组信息导出到csv(客户端)?

 类似资料:
  • 我正在尝试从Eclipse运行一个动态web应用程序。我使用wildfly-10.0.0.final作为服务器。我安装了jboss工具。 作为测试,我创建了一个名为'test'的动态web项目,并在WebContent目录中添加了一个index.html文件,在p标记中添加了简单的“hi”。 http://localhost:8080/tester/index.html 页面加载失败,错误为:网络

  • 我正在使用Gradle构建工具,但我无法获得spark-core的源代码和文档。我已经搜索并申请了: 但它仍然不适合我。我想我缺少了一些东西,比如重建整个项目或下载这些片段。 我申请了<代码>。/gradlew cleanIdea idea也是如此。 当我尝试点击SparkConf.class上的命令并按下< code >下载源代码时,我得到< code > Sources not found f

  • 我想使用fabric将画布下载为PNG。js。下载时,我想缩放图像。所以我使用了函数的属性。但我收到失败的网络错误 PS:如果我没有提供乘法器属性,它正在下载,但我确实想使用乘法器属性,因为我必须缩放图像 这就是我正在做的: 超文本标记语言代码: JS

  • 问题内容: 我正在尝试从某些网址下载图片。对于某些图片,它工作正常,但对于其他图片,我会收到403错误。 例如,这个:http : //blog.zenika.com/themes/Zenika/img/zenika.gif 此图片访问不需要任何身份验证。您可以在链接上单击自己,并使用200状态代码验证该链接可用于您的浏览器。 以下代码产生一个异常:。相同的是,它们在引擎盖下使用相同的方法。 我使

  • 我正在使用一个selenium脚本,试图下载一个Excel文件并给它一个特定的名称。这是我的代码: 我可以给正在下载的文件一个特定的名称吗? 代码:

  • 如果可能,也指出解决方案 我的代码: 错误: 回溯(最近一次调用):文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py”,第1318行,do_open encode_chunked=req。has_header('Transfer-encoding'))文件“/Library/Fr