Tengo archivos que deseo eliminar. La conexión puede ser de intercambio de archivos, http y ftp.¿Eliminar archivos remotos?
Ejemplo de archivos para borrar:
//mytest//delete//filename.bin
ftp://mytest/delete/filename.bin
http://mytest/delete/filename.bin
Aquí es lo que hice:
Uri target = new Uri(@"ftp://mytest/delete/filename.bin");
FileInfo fi = new FileInfo(target.AbsoluteUri);
fi.Delete();
El error que consigo es:
El formato caminos dada no es compatible
¿Hay algún código que pueda eliminarse en todos estos tipos de archivos?
He creado un código simple para esta tarea (basado en la respuesta del hilo).
Esta es la entrada:
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");
Este es el código:
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
eliminó con éxito. WebRequestMethods.Http
no contiene DeleteFile.
Entonces mi pregunta es, ¿cómo elimino el archivo de este URI?
http://tabletijam/FileServer/upload.bin
no puede solicitar directamente la fileinfo como este. Debe realizar una solicitud real a la ubicación donde se colocaron sus archivos. Ya sea con una solicitud web o ftp. Luego puede obtener el archivo info y eliminar los archivos. – Rob