2016-04-20 8 views
1

Mein HTML-Code ausgewählt hat, ist dieseWie Bild in Bild-Box anzuzeigen kurz nach der Benutzer ein Bild in Datei-Upload in Code-behind in asp.net

   <asp:Image ID="Img_CreateUser" runat="server"/> 
 
       <asp:FileUpload ID="Upload_CreateUser" runat="server" />

Mein C# -Code ist dies

 byte[] ImgArr = null; 

     if(Upload_CreateUser.PostedFile != null) 
     { 
      HttpPostedFile File = (HttpPostedFile)Upload_CreateUser.PostedFile; 

      string Filename = Path.GetFileName(Upload_CreateUser.FileName); 
      Upload_CreateUser.SaveAs(Server.MapPath("~/") + Filename); 

      //byte[] filebytes = Upload_CreateUser.FileBytes; 

      using(FileStream filestream = new FileStream(Filename, FileMode.Open, FileAccess.Read)) 
      { 
       ImgArr = new byte[filestream.Length]; 
       int ImgReadArr = filestream.Read(ImgArr, 0, (int)filestream.Length); 

       if(ImgArr != null && ImgArr.Length > 0) 
       { 
        string ImgType = File.ContentType; 
        string base64string = Convert.ToBase64String(ImgArr, 0, ImgArr.Length); 
        Img_CreateUser.ImageUrl = "data:" +ImgType+ ";base64," + base64string; 
       } 

` ich mag nicht mein Bild in der Datenbank speichern. Ich möchte nur eine Vorschau anzeigen.

Dank

Antwort

0

Benutzen Sie den Code folgenden

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 

    <title>Preview Image While Upload</title>  
    <script src="jquery-1.8.2.js" type="text/javascript"></script>  
    <script type="text/javascript"> 
     function ShowPreview(input) { 
      if (input.files && input.files[0]) { 
       var ImageDir = new FileReader(); 
       ImageDir.onload = function(e) { 
        $('#impPrev').attr('src', e.target.result); 
       } 
       ImageDir.readAsDataURL(input.files[0]); 
      } 
     } 
    </script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
    <table cellpadding="10" cellspacing="4" width="70%" align="center" style="border: Solid 10px Green; 
     font-weight: bold; font-size: 16pt; background-color: Skyblue; color: Blue;"> 
     <tr> 
      <td align="center"> 
       Upload Images 
      </td> 
     </tr> 
     <tr>  

     <td> 
       Select Your File To Upload #: 
       <input type="file" name="ImageUpload" id="ImageUpload" onchange="ShowPreview(this)" /> 
       <asp:Button ID="btnUpload" runat="server" Text="Upload" /> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <asp:Image ID="impPrev" runat="server" Height="200px" /> 
      </td> 
     </tr> 
    </table> 
    </form> 
</body> 
</html> 

Für weitere Informationen gehen Sie über den Link wird es Ihnen helfen

Preview Image Before Uploading

+0

Es jquery verwendet. Ich möchte, dass es durch den Code dahinter gemacht wird. –

+1

Sie können es nicht in Code hinter direkt tun, und es ist nicht eine gute Praxis, es in Code hinter zu tun. Wenn Sie es wirklich in Code hinterher tun möchten, können Sie den gesamten jquery-Code in eine Zeichenfolge einfügen und diese Zeichenfolge an das Bildfeld binden. –

Verwandte Themen