当前位置: 首页 > 知识库问答 >
问题:

强制浏览器将下载的文件保存在特定位置

宣俊豪
2023-03-14

我的项目是一个ASP.NET MVC4web应用程序。

目前,它有一种生成文本文件并将其发送到客户端浏览器下载的方法。

我需要修改它,以强制浏览器将文件保存在客户端计算机上的自定义(预定义)位置。

共有2个答案

上官砚文
2023-03-14

您的web应用程序只能发送文件到您的客户端。强制下载保存到特定位置是不可能的,因为下载保存到权限属于客户端浏览器。

如果用户未定义默认下载位置,下载时会提示保存到;如果用户已定义默认下载位置,则提示保存到。它将自动下载并保存到默认位置。

所以我认为你对你的web逻辑有一点误解:D

邬朗
2023-03-14

这是不可能的,因为这会带来严重的安全问题。用户必须决定文件的保存位置。

您只能在您有权访问的服务器上指定一个位置。

如果它是一个内部站点,那么您可以设置服务器将文件保存到一个网络位置,并将该路径返回给用户。

如果要显示另存为,请将此添加到ActionResult中以指示文件下载:

Response.SetCookie(new HttpCookie("fileDownload", "true") { Path = "/" });
return myFileStreamResult
 类似资料:
  • 问题内容: 一切正常,但是只有当文件很小(大约1MB)时,当我尝试使用更大的文件(例如20MB)时,我的浏览器将其显示,而不是强制下载,到目前为止,我尝试了许多标头,现在我的代码看起来像: 问题答案: 在将文件内容写入输出流之后,你将设置响应头。在响应生命周期中设置标头很晚。正确的操作顺序应该是首先设置头,然后将文件的内容写入servlet的输出流。 因此,你的方法应编写如下(由于仅是表示形式,因

  • 问题内容: 我有敏感文件要下载给用户,每个用户只能 下载 给定文件一次。如果下载失败,我希望允许重新下载,但不允许其他方式。 仅仅依靠在服务器上记录/处理文件下载 请求 是不够的-我需要确定性地知道文件何时完成以及在客户端是否就位,因为我的许多用户都在频繁掉线的环境中工作。 最有效的方法是,浏览器从“另存为…”对话框中暴露出一个“文件已保存”事件,该事件可能会链接到下载页面上的JavaScript

  • 问题内容: 我有以下代码可以处理服务器上的文件上传。但是如何将文件保存到服务器上的特定位置 问题答案: 您应该使用which代替一个目录。 或者,如果你真的想临时文件移动到另一个位置 之后 ,使用。

  • 问题内容: 使用JAVA,我试图强制浏览器下载文件。 这是我当前使用的代码: 它 几乎可以 正常工作,但是当强制下载文档(MS Office 2007+)时,下载的文件已损坏(至少,这是MS Office告诉我的)。如果尝试在存储它们的服务器上直接打开它,则不会出现该错误,这意味着下载时(而不是上传时)确实会干扰该问题。 根据IANA的说法,此类文件的MIME类型应为 (1) ,但是指定MIME类

  • 问题内容: 是否可以通过单击链接来强制具有JavaScript例程的浏览器将文件另存为(“另存为”)?我需要默认情况下直接下载图片,而不是通过浏览器渲染图片。 问题答案: 您可以使用HTML5下载属性,如下所示: 无论文件类型如何,这都会打开一个“另存为”对话框,而无需您离开页面。

  • 问题内容: 有什么办法可以在页面上放置一些代码,以便当有人访问网站时,它会清除浏览器缓存,以便他们可以查看更改? 使用的语言:ASP.NET,VB.NET,当然还有HTML,CSS和jQuery。 问题答案: 如果这是关于和变化,一种方法是到“缓存无效”是通过附加像“ ”为每个版本的文件名。例如: 或者,在文件名之后执行此操作: