我在asp.net中有一個文件輸入。我想獲取圖像,顯示縮略圖並保存。這裏是aspx ...將圖像轉換爲縮略圖並保存它
form id="form1" runat="server" enctype="multipart/form-data">
<div>
<input type="file" runat="server" />
<br />
<asp:Button runat="server" ID="btn_upload" OnClick="btn_upload_Click" Text="Upload" />
<br />
<asp:Image ID="image_placeholder" runat="server" Visible="false" />
</div>
</form>
這裏是後面的c#代碼。我可以顯示圖像,但我很難保存。
var postedFile = httpRequest.Files[file];
string fileName = postedFile.FileName;
if (fileName != "")
{
Stream fs = postedFile.InputStream;
System.Drawing.Image image = System.Drawing.Image.FromStream(fs);
using (System.Drawing.Image thumbnail = image.GetThumbnailImage(100, 100, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero))
{
using (MemoryStream memoryStream = new MemoryStream())
{
thumbnail.Save(memoryStream, ImageFormat.Png);
Byte[] bytes2 = new Byte[memoryStream.Length];
memoryStream.Position = 0;
memoryStream.Read(bytes2, 0, (int)bytes2.Length);
string base64String = Convert.ToBase64String(bytes2, 0, bytes2.Length);
image_placeholder.ImageUrl = "data:image/png;base64," + base64String;
image_placeholder.Visible = true;
var desktopFolder = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
thumbnail.Save(desktopFolder, System.Drawing.Imaging.ImageFormat.Png);
}
}
我得到的錯誤是 「在GDI +內容時發生一般錯誤:」我把它這是因爲我調用兩個thumbnail.Save
不管怎麼說,圖像顯示細膩,這只是問題的時候實際上保存它。
可能是一個權利問題,您的iis服務器帳戶需要保存該文件的權利。 – Carra
現在我只是從我的本地開發環境運行它,試圖將其保存到我的桌面 – prawn