2013-06-12 46 views
1

我正在使用asp.net和Visual Basic。從位圖轉換爲HttpPostedFile

我有一個FileUpload字段,我接收圖像。 我需要的不僅僅是圖像,並將其上傳到FTP服務器(外部的)

來調整我已經接收功能的HttpPostedFile並將其與轉換爲圖片:

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

我需要轉換「smallImage」爲HttpPostedFile,或瞭解如何將BitMap文件上傳到我的外部服務器,但我無法弄清楚如何執行這兩個選項中的任何一個。

任何想法?

編輯:爲了將一個文件上傳到我的外部服務器,我有:

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

我做但我不能讓它工作。 我有: 昏暗請求作爲的FtpWebRequest = WebRequest.Create(新的URI( 「FTP:// myftp」 &文件名)) request.Method = WebRequestMethods.Ftp.UploadFile request.Credentials =新的NetworkCredential( 「用戶」 ,「pass」) 但我不知道如何繼續 – DenLun

+0

請查看:[如何使用FTP上傳文件](http://msdn.microsoft.com/zh-cn/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) 

-upload從我的服務器圖像到我的外部服務器

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

- 刪除圖像從我的主要服務器

它工作得很好。