2013-03-19 23 views
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”事件后,“上传”输入的内容为空。 我想回这个值来做另一个过程!

回答

0

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

+0

非常感谢! :) – zey 2013-03-20 07:25:54

+0

我可以使用asp.net视图状态吗? – zey 2013-03-23 10:44:15

+0

是的,你可以,但图像将从客户端到服务器的每个请求...不是非常高性能.... – 2013-03-23 21:12:44