Ich habe Dateien, die ich löschen möchte. Die Verbindung kann über Dateifreigabe, http und ftp erfolgen.
Beispiel für zu löschende Dateien:
//mytest//delete//filename.bin
ftp://mytest/delete/filename.bin
http://mytest/delete/filename.bin
Ich habe Folgendes getan:
Uri target = new Uri(@"ftp://mytest/delete/filename.bin");
FileInfo fi = new FileInfo(target.AbsoluteUri);
fi.Delete();
Der Fehler, den ich erhalte, lautet:
Das angegebene Pfadformat wird nicht unterstützt
Gibt es einen einzigen Code, der in all diesen Dateitypen löschen kann?
Ich habe einen einfachen Code für diese Aufgabe erstellt (basierend auf der Antwort des Threads).
Dies ist die Eingabe:
Uri target = new Uri(@"ftp://tabletijam/FileServer/upload.bin");
Uri target = new Uri(@"http://tabletijam/FileServer/upload.bin");
Uri target = new Uri(@"\\tabletijam\FileServer\upload.bin");
Dies ist der Code:
bool DeleteFileOnServer(Uri serverUri)
{
if (serverUri.Scheme == Uri.UriSchemeFtp)
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.DeleteFile;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
lblStatus.Content = response.StatusDescription;
response.Close();
return true;
}
else if (serverUri.Scheme == Uri.UriSchemeFile)
{
System.IO.File.Delete(serverUri.LocalPath);
return true;
}
else if (serverUri.Scheme == Uri.UriSchemeHttp || serverUri.Scheme == Uri.UriSchemeHttps)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Http.DeleteFile;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
lblStatus.Content = response.StatusDescription;
response.Close();
return true;
}
else
{
lblStatus.Content = "Unknown uri scheme.";
return false;
}
}
Ftp
y File
erfolgreich gelöscht. WebRequestMethods.Http
enthält nicht DeleteFile.
Meine Frage ist also, wie lösche ich eine Datei aus dieser URI?
http://tabletijam/FileServer/upload.bin