Archivos cargados en el servidor ftp, ¿corruptos por qué?
Los archivos se están cargando correctamente pero con archivos corruptos. Por favor, revise mi código y arregle mi problema. Creo que mi problema está en esta línea:
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());;
“`
string ftpurl = “ftp://IP”;
string ftpusername = “u09z0fyuu”; // por ejemplo, nombre de usuario
string ftppassword = “Yamankatita1@”; // por ejemplo, contraseña
string PureFileName = new FileInfo(file_name).Name;
String uploadUrl = String.Format("{0}/{1}/{2}", ftpurl, "PDPix", file_name);
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(uploadUrl);
request.Method = WebRequestMethods.Ftp.UploadFile;
// Este ejemplo asume que el sitio FTP utiliza inicio de sesión anónimo.
request.Credentials = new NetworkCredential(ftpusername, ftppassword);
request.Proxy = null;
request.KeepAlive = true;
request.UseBinary = true;
request.UsePassive = true;
request.Method = WebRequestMethods.Ftp.UploadFile;
// Copiar el contenido del archivo al flujo de solicitud.
StreamReader sourceStream = new StreamReader(_mediaFile.Path);
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());;
sourceStream.Close();
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
_ = DisplayAlert("Subir archivo completo, estado {0}", response.StatusDescription,"OK");
davy.ai
Podría haber un problema con la forma en que se están leyendo y convirtiendo los contenidos del archivo en bytes. Intente usar un método diferente para leer los contenidos del archivo, como FileStream o MemoryStream, y luego conviértalo en bytes. Por ejemplo:
Además, asegúrese de que la codificación utilizada para convertir los contenidos del archivo en bytes sea apropiada para el tipo de archivo que se está cargando (por ejemplo, UTF8 podría no funcionar para archivos binarios).