首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在锚标签中指定data-URI资源的文件名?

如何在锚标签中指定data-URI资源的文件名?
EN

Stack Overflow用户
提问于 2014-05-25 05:37:27
回答 3查看 5.4K关注 0票数 4

我想使用javascript实现客户端可下载文件,并使用数据URI在客户端使用以下方式动态创建文件:

代码语言:javascript
复制
<a href="data:application/csv;charset=utf-8,Col1%2CCol2%2CCol3%0AVal1%2CVal2%2CVal3%0AVal11%2CVal22%2CVal33%0AVal111%2CVal222%2CVal333">Download CSV</a>

但是,下载的文件没有名称。我在stackoverflow上看到了一些解决方案,其中可以使用“download”属性,但我需要支持旧浏览器,所以我不能使用它。

EN

回答 3

Stack Overflow用户

发布于 2014-11-14 20:13:44

您可以很容易地根据您的需要修改这段代码:

代码语言:javascript
复制
//Generate a file name
    var fileName = "List_";
    //this will remove the blank-spaces from the title and replace it with an underscore
    fileName += ReportTitle.replace(/ /g,"_");   

    //Initialize file format you want csv or xls
    var uri = 'data:text/csv;charset=utf-8,' + escape(CSV);

    // Now the little tricky part.
    // you can use either>> window.open(uri);
    // but this will not work in some browsers
    // or you will not get the correct file extension    

    //this trick will generate a temp <a /> tag
    var link = document.createElement("a");    
    link.href = uri;

    //set the visibility hidden so it will not effect on your web-layout
    link.style = "visibility:hidden";
    link.download = fileName + ".csv";

    //this part will append the anchor tag and remove it after automatic click
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
票数 6
EN

Stack Overflow用户

发布于 2016-01-06 17:03:09

a标记的download属性现在指定下载文件的名称:

https://html.spec.whatwg.org/multipage/semantics.html#attr-hyperlink-download

票数 1
EN

Stack Overflow用户

发布于 2014-05-25 05:39:43

看看下面的链接。它似乎允许您下载客户端生成的数据并指定文件名。

https://code.google.com/p/download-data-uri/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23849875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档