Delete file on server

2019-06-10 23:55发布

问题:

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