因此,我正致力於將一個Web應用程序移動到Azure,讓我絆倒的是如何處理圖像上傳。目前,我正在處理上傳與ImageResizer並將其保存到一個目錄:將圖像上傳到Azure的ASP.NET Web Form應用程序轉換爲
Protected Function DoHeaderUpload() As Guid?
If HeaderUploadControl.HasFile Then
If HeaderUploadControl.PostedFile.ContentType.StartsWith("image/") Then
If HeaderUploadControl.PostedFile.ContentLength < 3145728 Then ' 3MB max size
Dim myFileGuid = System.Guid.NewGuid()
Dim i As ImageResizer.ImageJob = New ImageResizer.ImageJob(HeaderUploadControl.PostedFile,
"~/Images/Headers/" & myFileGuid.ToString() & ".jpg",
New ImageResizer.Instructions("height=100;format=jpg;mode=crop"))
i.Build()
Return myFileGuid
Else
HeaderUploadError.Text = "<br>File exceeds 3MB maximum size"
HeaderUploadError.IsValid = False
End If
Else
HeaderUploadError.Text = "<br>Only image uploads are supported"
HeaderUploadError.IsValid = False
End If
End If
End Function
我發現了一個代碼片段將填充從內存流輸出一個blob從ImageResizer(link)。
但是,我有點不清楚如何在我的網站中嵌入/引用這些圖像。目前,我只是在做這個(例如):
HeaderImage.Src = String.Format("/Images/Headers/{0}.jpg", .HeaderImage.ToString())
我想我可以只包含完整的網址前綴BLOB,但是,似乎是一個壞主意(和測試在本地運行時會破事)。
我可以使用指向Azure文件共享而不是Azure Blob的虛擬路徑嗎?
我看到AzureReader2 for ImageResizer是誘人的,但它似乎超級昂貴。看起來這也可能是一個非常簡單的解決方案,因爲它看起來像自動重定向具有特定前綴的引用到Azure Blob位置。
我想問題是:什麼是最簡單的方法來做到這一點?我有種不同的選擇。
謝謝!