Я использовал этот код для загрузки изображения на ftp. но изображение повреждено. image im пытается загрузить файл Base64
string.i, преобразованный в поток и переданный в UpLoadImage.изображение повреждено при загрузке ftp с использованием ftpwebrequest
public static void UpLoadImage(Stream image, string target)
{
FtpWebRequest req = (FtpWebRequest)WebRequest.Create("ftp://www.examp.com/images/" + target);
req.UseBinary = true;
req.Method = WebRequestMethods.Ftp.UploadFile;
req.Credentials = new NetworkCredential("UserNm", "PassWd");
StreamReader rdr = new StreamReader(image);
byte[] fileData = Encoding.UTF8.GetBytes(rdr.ReadToEnd());
rdr.Close();
req.ContentLength = fileData.Length;
Stream reqStream = req.GetRequestStream();
reqStream.Write(fileData, 0, fileData.Length);
reqStream.Close();
}
Вместо того, чтобы:
StreamReader РДР = новый StreamReader (изображение); байт [] fileData = Encoding.UTF8.GetBytes (rdr.ReadToEnd()); rdr.Close();
, если я использую byte[] fileData = File.ReadAllBytes(image);
он дает мне ошибку, имя файла более 260 символов.
Пожалуйста, может кто-то помочь решить эту проблему ..
байт [] FileData = File.ReadAllBytes (изображение) требует строку в качестве параметра. – user2226345
@ user2226345: File.ReadAllBytes («адрес вашего изображения»), я думаю, что ваш путь> 260 charachter – KF2
, когда я передаю строку base64 в файл.ReadAllBytes (изображение) показывает ошибку, что имя файла или путь длинный (имеет более 260 символов). – user2226345