如何使用“文件上载”更改其他Web窗体上的图像

时间:2016-04-20 20:36:59

标签: c# asp.net visual-studio

我想知道如何使用文件上传更改另一页面上的图像。我已经创建了一个管理面板,可以更改其他页面上的文本和颜色,但是,我正在努力解决如何使用图像。

这是通过Visual Studio上的ASP.NET和C#

任何帮助将不胜感激, 感谢

2 个答案:

答案 0 :(得分:0)

这是简化的示例代码。 FileUpload.SaveAs以静默方式覆盖现有文件。

<%--.aspx file --%>
Upload image: <asp:FileUpload ID="fuImage" runat="server" /><br />
Save file as: <asp:TextBox ID="txtNewName" placeholder="/images/myPic.jpg" runat="server" Width="30px"></asp:TextBox><br />
<asp:Button ID="btnRun" runat="server" Text="Save" onClick="btnRun_Click" />

//.aspx.cs file
protected void btnRun_Click(object sender, EventArgs e)
{
fuImage.SaveAs(Server.MapPath("~" + txtNewName.Text));
}

答案 1 :(得分:0)

将图像的字节存储到属性中。

public byte[] someProperty{get;set;}
HttpPostedFile postedFile = imgFile.PostedFile;
string fileExtension = Path.GetExtension(postedFile.FileName);

 if (fileExtension.ToLower() == ".jpg" || fileExtension.ToLower() == ".png")
 {
    Stream stream = postedFile.InputStream;
    BinaryReader reader = new BinaryReader(stream);
    byte[] imgByte = reader.ReadBytes((int)stream.Length);
 }
someProperty = imgByte;
Session["yourImg"] = someProperty;

在要更改<img>的第二页上,只需获取字节并将其转换为字符串base64。

string str = Convert.ToBase64String(Session["yourImg"] as byte[]);
imageID.Src = "data:Image/png;base64," + str;

有很多方法可以将值从webform传递到另一个webform会话只是一种方式,但有很多方法,得到它here