0

在我的 .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" />

在我的 .cs 中,

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

        }
    }

图片已上传并在“imageField”中显示成功,但“upload_Click”事件发生后“Upload”输入的value字段为空。我想把这个值拿回来做另一个过程!

4

1 回答 1

0

你不能。当用户选择文件并单击按钮时,该文件从客户端发布到服务器。稍后它将始终为空,除非用户再次选择它。如果您再次需要它以进行进一步处理,您可以将文件本地保存在服务器上。

于 2013-03-19T12:00:26.470 回答