【发布时间】:2022-06-16 17:11:07
【问题描述】:
用户需要能够上传一堆图片,我的应用会将这些图片合并为一个 PDF。然后用户需要能够将该 PDF 保存到他们的本地计算机。我的 Blazor C# 应用程序使用
我尝试添加一个带有指向下载文件的 href 的按钮,但浏览器总是阻止链接,返回错误:“不允许加载本地资源:file:///D:/IVG_Blazor/ MergeImagesIntoPDF/mergedImages.pdf"。
我想到的另一种方法是将 PDF 写入下载文件夹并在页面底部显示一个图标,为用户提供“打开”、“始终打开这种类型的文件”、“显示在文件夹中”、“取消”。但我不知道如何实现。
有谁知道如何让用户轻松访问此类文件?谢谢。
【问题讨论】:
-
blazor wasm 还是服务器?
-
"来自本地机器。"您是指 Web 服务器还是托管网页的浏览器?
-
您可以将 pdf 保存在内存中,直到用户希望“下载”它。但是如果没有文件上传,你就不能从用户的电脑上读取一些随机文件。这不是 blazor 限制,而是浏览器限制。除非您走电子路线并将网络浏览器托管在您控制的程序中。
-
如果您希望能够按照服务器规定的某个时间表将文件推送到用户计算机上的某个位置,您可能最好考虑创建一个用户运行的应用程序,例如 Dropbox,当服务器准备好文件时,它会连接并接收/写入文件
-
你想做的事情并非不可能。例如,请参阅来自 Syncfusion 的 Blazor 文件管理器:syncfusion.com/blazor-components/blazor-file-manager 但是,处理此问题的更标准方法是简单地使用一个按钮,用户在完成上传图像时单击该按钮。该按钮将触发 PDF 的生成并开始文件下载。