问题
I have a file path in the format file://SERVERNAME/FOLDER$/FOLDER/image.jpg
. I call System.IO.File.Delete(Server.MapPath(file://SERVERNAME/FOLDER$/FOLDER/image.jpg))
to delete the file, but i get the error file:/SERVERNAME/FOLDER$/FOLDER/image.jpg' is not a valid virtual path.
I notice that a '/' is missing and I do not know why. How will I delete such file?
I have tried converting my file path to file:////SERVERNAME//FOLDER$//FOLDER//image.jpg
but this did not help. Same thing happens. If I omit the Server.MapPath
, I get an error saying URI is not supported.
How to do this please?
回答1:
Since you are doing System.IO.File.Delete
I assume you have the permission to delete the file; so you can:
var uri = new Uri("file://SERVERNAME/FOLDER$/FOLDER/image.jpg", UriKind.Absolute);
System.IO.File.Delete(uri.LocalPath);
回答2:
Have you tried
\\SERVERNAME\FOLDER$\FOLDER\image.jpg
make sure the user account running the application has access to remote machine
回答3:
Given that you have enough permissions to access that file, you need to convert the given path to \\SERVERNAME\FOLDER$\FOLDER\image.jpg
来源:https://stackoverflow.com/questions/16405816/delete-file-on-server