【发布时间】:2021-10-18 09:46:20
【问题描述】:
我有一个显示照片库的应用程序。在每张照片下都有一个按钮,单击该按钮时应该将照片保存在用户的计算机上。不幸的是,这些照片在下载时会保存为 HTML 文档。这就是下载后无法打开的原因。照片存储在使用nodejs 附加到项目的静态上传文件夹中。如何下载照片以便以正确的格式保存?
我已经尝试过使用download 属性,方法是将照片放在a 标签下,如下所示:
<a href={file.path} download>download</a>` or `<a href={file.path} download={file.name}>download</a>.
我也尝试使用file-saver 模块,但没有得到肯定的结果。使用此解决方案,图像也保存为 HTML 文档:
const Gallery = () => {
//
const downloadImage = (file) => {
saveAs(
`http://localhost:3000${file.path}`,
file.name + '.' + file.type
)
}
//
return (
<button onClick={downloadImage(currentFile)} type='button'> download </button>
)
}
在react-router-dom中,我没有设置路由,所以点击照片后可以直接预览照片。
【问题讨论】:
-
照片的文件扩展名是什么?您从哪个浏览器下载?
-
@Wasbeer 我在 Firefox 91 和 Chrome 92 中测试过,文件扩展名为 .png。
-
您是否在使用“download”时提交了您的工作?我会很高兴看到它。
标签: javascript html node.js reactjs