Asp.net 如何获取图像上传值
在我的.aspx中Asp.net 如何获取图像上传值,asp.net,Asp.net,在我的.aspx中 <div id="pictureBox"> <img width="150" height="150" runat="server" id="imageField" /> </div> <br /> <input id="Up
<div id="pictureBox">
<img width="150" height="150" runat="server" id="imageField" />
</div>
<br />
<input id="Upload" style="width: 200px; font-family: Myanmar3;" type="file" name="Upload"
runat="server" accept="image/*" >
<br />
<asp:Button ID="ImageButton1" runat="server" OnClick="upload_Click" CssClass="styleButton"
Text="Upload" />
图像已上载并在“imageField”中成功显示,但在“upload\u Click”事件之后,“upload”输入的值字段为空。
我想把这个值拿回去做另一个过程 你不能。当用户选择文件并单击按钮时,该文件将从客户端发布到服务器。稍后,除非用户再次选择,否则它将始终为空。
如果需要进一步处理,您可以将文件本地保存在服务器上。我可以使用asp.net视图状态吗?可以,但对于每个请求,映像都会从客户端转到服务器。。。性能不是很好…使用会话,cookies怎么样?会话是服务器端的,应该可以(除非您有很多并发用户)。Cookie是客户端,因此它们与viewstate存在相同的问题。此外,它们仅限于几kB
protected void upload_Click(object sender, EventArgs e)
{
if (Upload.Value !="")
{
System.IO.Stream fs = Upload.PostedFile.InputStream;
img_uploadStream = Upload.PostedFile.InputStream;
System.IO.BinaryReader br = new System.IO.BinaryReader(fs);
Byte[] bytes = CreateThumbnail(br.ReadBytes((Int32)fs.Length),150);
string base64String = Convert.ToBase64String(bytes, 0, bytes.Length);
imageField.Src = String.Format("data:{0};base64,{1}", "image/jpeg", base64String);
}
}