我使用XCPlaygroundPage.currentPage.captureValue(_:withIdentifier:)
下载我的图片。它不在XCPCaptureValue()
中,因为我在服务器上生成图像,然后将其发送回来,如下所示:
window.location
我已经看到了其他几个问题,但是他们建议HTML
attr我没有,因为那里没有window.location = data.url;
。
有没有办法可以更改文件名?
答案 0 :(得分:3)
您在前端唯一可以做的就是将代码更改为带有<a>
属性的HTML download
元素:
<a href="my_file.pdf" download="very_important_report.pdf">Download</a>
当用户单击此链接时,浏览器会强制下载并使用给定的文件名保存文件。您可以在this post中详细了解相关信息。这是一项非常新的功能,请查看browser support。
如果您可以修改服务器端代码,那么您应该使用RFC 2183中定义的content-disposition
标头。
content-disposition: attachment; filename=very_important_report.pdf
答案 1 :(得分:2)
您无法在客户端更改文件名。你必须在服务器上这样做。
您可以设置内容处置标头(在服务器端),如下所示:
Content-Disposition: attachment; filename="yourname.gif"
答案 2 :(得分:0)
我也一直在想这个问题,也看到了这篇文章,但是我也在项目中使用vuejs,并且希望即使在从一页切换到另一页时,导出也能继续进行,所以我尝试了一下,在这里确实起作用了另一个解决方案:
var link = document.createElement('a');
link.setAttribute('href', '<yourlink_or_data>');
link.setAttribute('download', 'filename.ext');
link.click();