2013-06-12 2 views
1

Я работаю с asp.net и Visual Basic.Конвертировать из Bitmap в HttpPostedFile

У меня есть поле FileUpload, где я получаю изображение. мне нужно изменить размер, чем изображение и загрузить его на FTP-сервер (а внешний один)

я функцию, получать HttpPostedFile и преобразовать его в изображения с:

image = System.Drawing.Image.FromStream(imagen.InputStream) 
smallImage = New Drawing.Bitmap(image, New Drawing.Size("widht", "height")) 

Мне нужно преобразовать «smallImage» в HttpPostedFile ИЛИ узнать, как загрузить файл BitMap на внешний сервер, но я не могу понять, как выполнить любой из этих двух параметров.

Любые идеи?

Edit: Для того, чтобы загрузить файл на моем внешнем сервере у меня есть:

Dim request As FtpWebRequest = WebRequest.Create(New Uri("myftp"; & fileName)) 
request.Method = WebRequestMethods.Ftp.UploadFile 
request.Credentials = New NetworkCredential("user", "pass") 

Но я не знаю, как продолжить еще

+0

Считаете ли вы использование класса [FtpWebRequest] (http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx)? – Neolisk

+0

Я делаю, но я не могу заставить его работать. у меня есть: запрос Dim Как FtpWebRequest = WebRequest.Create (New Uri ("FTP: // myftp" и Filename)) request.Method = WebRequestMethods.Ftp.UploadFile request.Credentials = Новый NetworkCredential ("пользователь" , «pass») Но я не знаю, как продолжить – DenLun

+0

. Проверьте это: [Как загружать файлы с FTP] (http://msdn.microsoft.com/en-us/library/ms229715.aspx) , Или используйте UploadFile, как предложено ниже в ответе. Единственное, что вам нужно, - сначала сохранить этот файл локально (из того, что я вижу на MSDN - он не поддерживает потоки). – Neolisk

ответ

2

WebClient Рассмотрим класс. Он имеет несколько перегруженных методов UploadFile, которые могут упростить загрузку файлов на FTP.

+0

Я, наконец, сделал это с этим. Я сохраняю изображение на своем сервере с помощью: smallImage.Save (Server.MapPath ("../ directory /" & nameOfImage), ImageFormat.Jpeg). Затем я загружаю изображение с сервера на сервер с помощью My.Computer.Network.UploadFile (Server.MapPath («../dir /» и nameOfFile), «ftpAddress» и nameOfFile, «user», «pass») – DenLun

0

Не знаете, возможно ли преобразование.

Я следую советам там и: -сохраняйте изображения в моем главном сервере

smallImage.Save(Server.MapPath("../dir/" & nameOfImage), ImageFormat.Jpeg) 

-загрузить изображение с моего сервера на мой внешний сервер

My.Computer.Network.UploadFile(Server.MapPath("../dir/" & nameOfFile), "ftpAddress" & nameOfFile, "user", "pass") 

-Delete изображение от моего основного сервера

Работает отлично.

Смежные вопросы