【问题标题】:Save image to disk on a button click in a Web page在网页中单击按钮将图像保存到磁盘
【发布时间】:2012-09-26 05:09:21
【问题描述】:

我的 Asp.net 网页中有一些图像。我的要求是在单击保存按钮时将所选图像保存到用户磁盘。通常所有浏览器都提供右键单击另存为选项。但我必须在 html 输入按钮单击时实现此功能。我有以下问题。

  1. 如何编写脚本来执行此功能,该功能应适用于所有主流浏览器
  2. 我们是否有任何 jQuery 库可以实现此功能
  3. 我可以在 asp.net 技术中找到任何替代方法,而不是 java script/jQuery 来执行相同的功能

谁能帮帮我?

【问题讨论】:

标签: c# javascript asp.net jquery


【解决方案1】:

jQuery 是一个客户端 javascript 库。它不涉及提供文件下载。

您可以在 asp.net 中单击任何按钮提供下载。下载文件不需要jQuery。

您在事件处理程序中的代码如下所示:

    Response.ContentType = "application/octet-stream";
    Response.AddHeader("Content-Disposition", string.Format("attachment; filename=\"{0}\"", fileName));
    Response.WriteFile(filePath + fileName);
    Response.Flush();
    Response.End();

【讨论】:

  • 我不想要下载功能。我的意思是当我点击 html 按钮时,它应该打开另存为对话框,其中包含图像的必要过滤选项
  • 这将打开打开/另存为对话框。过滤由ContentType 提供。根据您的文档类型进行设置。
  • 否,它将显示下载对话框并下载下载文件夹中的图像。我想要和上下文菜单一样的把图片另存为功能
【解决方案2】:

您不能将文件从网站直接写入磁盘,期间。这只是明智的安全措施。常规下载链接/按钮将始终调用浏览器的标准下载过程,您无法确定文件是否将被保存或保存在何处。避免这种情况的唯一方法是创建一个用户必须首先安装的本机浏览器插件,它将文件从您的站点直接写入磁盘上的特定位置。如果您这样做,请非常小心地编写这样的插件,以免它成为每个人的巨大安全漏洞。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多