我有file://SERVERNAME/FOLDER$/FOLDER/image.jpg
格式的文件路径。我调用System.IO.File.Delete(Server.MapPath(file://SERVERNAME/FOLDER$/FOLDER/image.jpg))
删除文件,但是我收到错误file:/SERVERNAME/FOLDER$/FOLDER/image.jpg' is not a valid virtual path.
我注意到'/'丢失了,我不知道为什么。我该如何删除这样的文件?
我尝试将文件路径转换为file:////SERVERNAME//FOLDER$//FOLDER//image.jpg
,但这没有帮助。同样的事情发生了如果我省略Server.MapPath
,则会收到错误消息,指出URI不受支持。
请问怎么做?
答案 0 :(得分:10)
由于您正在执行System.IO.File.Delete
我假设您有权删除该文件;所以你可以:
var uri = new Uri("file://SERVERNAME/FOLDER$/FOLDER/image.jpg", UriKind.Absolute);
System.IO.File.Delete(uri.LocalPath);
答案 1 :(得分:1)
你试过吗
\\服务器\文件夹$ \文件夹\ image.jpg的
确保运行应用程序的用户帐户可以访问远程计算机
答案 2 :(得分:1)
鉴于您有足够的权限来访问该文件,您需要将给定路径转换为\\SERVERNAME\FOLDER$\FOLDER\image.jpg