Asp.net 如何获取图像上传值

Asp.net 如何获取图像上传值,asp.net,Asp.net,在我的.aspx中 <div id="pictureBox"> <img width="150" height="150" runat="server" id="imageField" /> </div> <br /> <input id="Up

在我的.aspx中

<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);

        }
    }