【问题标题】:"Save As" Dialog box when downloading a file on web browser在网络浏览器上下载文件时的“另存为”对话框
【发布时间】:2017-08-15 13:49:52
【问题描述】:

我需要打开一个“另存为”对话框,用户可以在其中单击浏览器中的链接。另存为对话框需要显示客户端系统文件夹结构(类似word、excel等另存为的对话框)

我确实提到了一些与之相关的类似问题。但通常下载的文件会保存在客户端设置的下载路径中。

我不想使用 ActiveX 控件并希望使用 Javascript 来做同样的事情

是否可以使用 javascript 打开“另存为”对话框并将下载文件保存到本地客户端系统中的特定路径?

如果这是不可能的,大多数文章都指出了这一点。他们表示,由于安全原因,这是不可能的。但他们没有明确指出原因(这样做会出现什么安全问题,如果浏览器限制不执行此类操作等,)

【问题讨论】:

  • 这是作业吗?你不能,不是因为安全问题,而是因为没有为它制作 API。这是用户的偏好,您无权访问它。
  • @DenisTsoi:当然相关,但我读到上面的内容是询问他/她是否可以设置默认保存路径,如果不能,为什么不;该问题涉及打开对话框,但不包括这两件事。
  • @Denis .,你知道任何关于安全问题的详细讨论文章吗?,我实际上正在尝试找到证明安全问题或浏览器无法执行此类操作的文章
  • @Kaiido.,我不认为这是重复的。我正在尝试打开图像中的另存为对话框。下载力与它无关。

标签: javascript jquery html


【解决方案1】:

是否可以使用 javascript 打开“另存为”对话框并将下载文件保存到本地客户端系统中的特定路径?

没有。你可以建议浏览器打开对话框,但你不能告诉它默认在哪里。

如果这是不可能的,大多数文章都指出了这一点。他们表示,由于安全原因,这是不可能的。但他们并没有明确指出原因......

因为人们在点击之前不会阅读内容。因此,如果我给您一个文件链接并希望将其放在您的驱动器上 C:\Windows\System32\blahblah 并且我将其设置为文件保存对话框中的默认值,那么可悲的是,很大一部分人会盲目地点击保存而不加思考通过影响。现代操作系统(和旧的 *nix 操作系统)试图通过使某些操作获得特权来保护用户免受自身攻击,但至少在 Windows 上,这通常只是另一个“是/否”弹出窗口,用户经常不假思索地说“是”。

最好让浏览器选择用户的标准文档文件夹,或者他们专门有意配置的文件夹,而不是让网页说明默认位置。

【讨论】:

  • Crowder.,感谢您的回答解释了原因。你知道任何解释它的文章.. 是我正在做的任务的一部分,但为了注意它。一些文章来证明该声明的合理性将使我得到更深入的理解。你知道我可以在哪里参考吗?
  • @PradeepK:我不知道有一个副手,不。 (另外,请注意,要求文章链接的问题对于 Stack Overflow 来说是题外话,所以发布一个这样的问题并不是最好的。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-11
  • 2023-03-19
  • 2023-03-27
  • 2011-11-22
  • 2010-12-12
相关资源
最近更新 更多