【问题标题】:Remove Image from its folder using javascript with Asp.Net使用带有 Asp.Net 的 javascript 从其文件夹中删除图像
【发布时间】:2011-12-26 02:27:21
【问题描述】:

我正在尝试删除使用 javascript 和 Asp.Net 动态生成的图像,我只能从 div 容器中删除它,而不是原始路径。

那我该怎么做呢?

这是我的代码:

 $('#container').append("<div class='container a'><a href='#'><img src='uploads/" + document.getElementById("currentDirectory").value + "/" + file.name + "' width='64' height='64'/><span></span></a></div>");
 $('.container a span').live('click', function (e) {
     $(this).closest('div.container').fadeOut("normal", function () {                        
         var ImagePath ="uploads/" + document.getElementById("currentDirectory").value + "/" + file.name + "";
         var sPath = Server.MapPath(ImagePath) + dataName + fileName;
         $(sPath).remove();
     });
     return false;
 });

【问题讨论】:

  • 您是否尝试使用 javascript 删除服务器上的图像?
  • 实际问题是什么?它会给出一些错误或异常吗?您的 sPath 变量是否提供了合格且正确的路径?您可以添加 try{}catch.. 来查看。
  • 是的,我已经完成了,它正确显示了路径,我可以从容器中删除它,但不能从它的文件夹中删除。
  • 如果您尝试从 javascript 中删除服务器上的图像。这只是一个禁忌。
  • @Richard - 是的,我正在尝试删除服务器上的图像。

标签: javascript asp.net image path


【解决方案1】:

您将无法单独使用 javascript 从服务器中直接删除图像。实现此目的的唯一方法是调用服务器端方法为您执行此操作。

就 .NET 而言,您可以通过在服务器上编写方法并将其公开为 Web 服务来实现这一点。然后,您可以使用 jQuery 的 ajax 功能调用此方法,将要删除的图像名称传递给它。我建议将您的 Web 服务限制为 ajax POST 请求,并且正如 Richard 在 cmets 中指出的那样,限制可以删除和不能删除的内容。

【讨论】:

  • 谢谢安迪,我问理查德,我可以在其中使用 Ajax 如果可以,我该怎么做?
  • 你应该非常小心地限制可以通过这种方法删除的文件,否则你将有一个巨大的安全漏洞。可能最好让每个图像都有一个动态生成的 ID 并使用它来删除而不是图像路径。
  • 是的,richard,我已经为每个文件生成了一个单独的 ID,这是个好主意。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多