標題:

.net 上傳圖片裁圖

發問:

我想請問各位大大 我要用ASP.NET作上傳圖片 並且檔案上傳時存成我所要的圖片大小 EX:1024*768的圖片或800*600德圖片上傳後我都要存成640*480 的大小 有參考資料 或著範例 越詳細越好 我是用VB的 更新: <%@ Page Language="VB"%> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Drawing" %> 更新 2: 酷兒 大大妳可以給我你的email嗎 我本想把程式貼上來 但有字數限制 我可以寄給你然後幫我看看嗎 更新 3: 要是我不上傳 但我資料庫有存A.jpg的圖檔 然後我抓出檔名可以在存成我所要的圖片大小 EX:1024*768的圖片或800*600的圖片上傳後我都要存成640*480 的大小

最佳解答:

如果是用 ASP.NET with VB.NET,作法如下: 引用2個函式庫 Imports System.Drawing Imports System.Drawing.Imaging Private Sub btnUpload(ByVal sender As Object, ByVal e As System.EventArgs) Dim sourceFile as String = Server.MapPath(FileUpload1.FileName)<=取得上傳圖檔名稱 Dim newFile as String = Server.MapPath(”NEW” & FileUpload1.FileName)<=轉換後的新圖檔名稱 FileUpload1.SaveAs(sourceFile)<=將上傳圖檔先儲存到伺服器上 Dim bitSource As Bitmap = New Bitmap(640, 480) Dim imgSource As Image = Image.FromFile(sourceFile) Dim gSource As Graphics = Graphics.FromImage(bitSource) gSource.DrawImage(imgSource, New Rectangle(0, 0, 640, 480)) bitSource.Save(newFile , ImageFormat.Jpeg)<=輸出成640*480圖檔 imgSource.Dispose() gSource.Dispose() bitSource.Dispose() End Sub 2008-06-07 16:40:01 補充: 如果圖片在資料庫內, 可將圖片資料轉成 MemoryStream, 透過FormStream將資料轉換成Imge物件 myTable : 是已經查詢後得到的 DataTable Dim btImage() As Byte = mytable.Rows(0)(圖片欄位名稱) Dim MStream As New System.IO.MemoryStream(btImage) Dim imgSource As Image = Image.FromStream(MStream )

其他解答:

建議用AJAX技術,先在前端處理完圖片縮放的動作,再上傳到伺服器,但伺服器端要檢查上傳檔案的大小或是圖片的長寬。

 

此文章來自奇摩知識+如有不便請留言告知

6FE6251C5F3F8A0F
arrow
arrow

    gpjqem1 發表在 痞客邦 留言(0) 人氣()