我在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