如何使用reactjs下载Docx文件或msWord文件?
当用户单击按钮时,我一直在尝试弄清楚如何创建下载功能。
我尝试使用文件保存库,但结果尚未如预期的那样,我也尝试了一个周转并使用了其他方法,但同样是相同的。
当我使用fetch api使用第二种方法下载文件时,文件获取是一个损坏的文件。 请参阅下面的代码,其中还具有CODESANDBOX链接。
方法1
const onDownload1 = () => {
saveAs("../../testFile.docx", "testFile.docx");
};
方法2
const onDownload2 = () => {
fetch("../../testFile.docx").then((response) => {
response.blob().then((blob) => {
let url = window.URL.createObjectURL(blob);
let a = document.createElement("a");
a.href = url;
a.download = "testFile.docx";
a.click();
});
});
};
完整源代码链接
感谢您的帮助和时间。
I have been trying to figure out how can I create a download functionality when a user clicks on a button.
I tried to use the File save library but the result is not as expected, also I tried a turnaround and used a different approach but again the same.
When I download the file using the 2nd approach that is by using fetch API the file am getting is a corrupted file.
Please see the code below with the codeSandbox link as well.
Approach 1
const onDownload1 = () => {
saveAs("../../testFile.docx", "testFile.docx");
};
Approach 2
const onDownload2 = () => {
fetch("../../testFile.docx").then((response) => {
response.blob().then((blob) => {
let url = window.URL.createObjectURL(blob);
let a = document.createElement("a");
a.href = url;
a.download = "testFile.docx";
a.click();
});
});
};
Full source code link
Thanks for the help and time.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
“../../testFile.docx”
,应用程序尝试从托管和提供应用程序的相对路径提供文件。testFile.docx
文件需要可访问并正确提供。如果从公共文件夹提供文件
将
testFile.docx
放入public
目录中。<前><代码>/公共
+-/文件
+-testFile.docx
使用绝对路径访问
testFile.docx
文件。示例:
方法 1
方法 2
如果导入并在本地使用
从“./testFile.docx”导入文件;
方法 3
方法 4
With
"../../testFile.docx"
the app is attempting to serve the file from a relative path from where the app is being hosted and served from. ThetestFile.docx
file needs to be accessible and served correctly.If serving file from the public folder
Place
testFile.docx
in thepublic
directory.Use an absolute path to access the
testFile.docx
file.Examples:
Approach 1
Approach 2
If imported and used locally
import file from './testFile.docx';
Approach 3
Approach 4