javascript - 如何为本地文件创建服务器 url 以在前端提供下载?
问题描述
我在磁盘上有一个本地文件,所以我的目的是在本地服务器上为该文件创建一个 url(如https://localhost:8080/xxx),无论在后端和前端创建 url。然后我可以提供该网址的下载。
我试图在前端做到这一点,但由于 javascript 无法访问本地文件系统,我想我可能只能在后端做到这一点?
或者无论如何我可以使用 REST API 直接将本地文件作为 byte[] 从后端发布到前端?我尝试使用 Response 将文件包含在后端,但我可能做错了,以某种方式无法在前端接收。请给我一些建议以实现这一目标,替代解决方案会很棒,我想了解更多。谢谢!
解决方案
没有神奇的方法可以做到这一点。您可以使用任何您想要的 URL。在您的服务中,您可以决定要将哪个 URL 解析为哪个文件。
如果您已经这样做了,请检查以下内容:
检查您是否设置了正确的内容类型
检查你是否真的发送了文件的字节
如果您希望浏览器不会在适当位置打开文件而是打开保存文件对话框,请检查您是否设置了标题“Content-Disposition”。另请参阅此处的提示。
推荐阅读
- javascript - 登录后无法从 React.js 获取 Passport.js req.user
- html - 如何在 React 中使particle.js 全屏显示?
- android - 无法在具有 targetSdk 29 的应用程序中获取 ContentResolver.openInputStream(Uri uri) 并在具有 API 29 的设备上获取 compileSdk 29
- python - Pandas 数据框从 as_matrix 移动到 to_numpy
- reactjs - 深度嵌套 API 打印
- c# - 如何知道 URL 来自浏览器的地址栏或 ajax 调用?
- django - Django Rest - 更新不保存
- python - Python time.sleep() DRY 问题
- r - 如何循环列表的名称?
- python - 其他文本之后的文本的XPath?