C # Сохранить изображение в ImageBox на удаленном сервере

У меня есть собственный сервер с локальным IP-адресом 172.23.1.66 с CentOS 7

Поэтому в моей программе я могу вызвать изображение с моего сервера со строкой imageLocation = " http://172.23.1.66/img/978979892782.jpg ";

В другом случае я хочу сохранить его на удаленном сервере. Я не могу получить доступ к нему в проводнике Windows, я могу получить доступ к нему в браузере. Я удаляю его с помощью WinSCP.

Я пробовал вот так:

picImage.Image.Save(@"\172.23.1.66img" + clsLibrary.throwCode + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg); // throwCode is my file name

но он бросает Необработанное исключение типа «System.Runtime.InteropServices.ExternalException» произошло в System.Drawing.dll

Я также попробую удалить \ в первом из IP.

Все терпит неудачу, может ли кто-нибудь помочь?

c#,image,picturebox,remote-server,

-1

Ответов: 2


0

Используйте Server MapPath, чтобы убедиться, что вы можете использовать свой URL-адрес на своем сервере:

picImage.Image.Save(Server.MapPath("~/img/") + clsLibrary.throwCode + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

0

- вам разрешено получать только изображение с использованием IP-адреса. Чтобы сохранить изображение на IP-адресе,

 public string TEMP_PATH = "~/Temp/ImagesPath/";

Убедитесь, что у вас есть правильное право доступа / Temp / ImagesPath /.

После этого

try
        {
            FileInfo fileDatails = new FileInfo(AsyncImageUpload.PostedFile.FileName);/* here you can get file using you source like OFD or FileUpload Controls */
            string exten = fileDatails.Extension;
            Stream fs = this.AsyncImageUpload.FileContent;
            BinaryReader br = new BinaryReader(fs);
            Byte[] bytes = br.ReadBytes((Int32)fs.Length); /* convert file to byte */
            String Base64file = Convert.ToBase64String(bytes);
            destinationPath = Server.MapPath(TEMP_PATH + fileDatails.Name);
            Byte[] frombytes = Convert.FromBase64String(Base64file);
            File.WriteAllBytes(destinationPath, frombytes); /*write file to destination folder on server */
        }
        catch (Exception exp)
        {
            throw exp;
        }
C #, изображение, PictureBox, удаленный сервер,
Похожие вопросы