2010-07-29 5 views
0

J'ai un formulaire de téléchargement ASP.NET sur une page, sur lequel l'utilisateur peut télécharger une image. Heres le code pour que celui-ci:Récupération d'une image téléchargée à partir de la page ASP.NET

<%@ Import Namespace="System" %> 
<%@ Import Namespace="System.IO" %> 

<html> 

<head> 

<script language="VB" runat="server"> 

Sub Button1_Click(sender As Object, e As EventArgs) 

     If imageupload1.HasFile Then 
     imageupload1.SaveAs(Server.MapPath(".") + "/uploadedimages/" & imageupload1.FileName) 
      Label1.Text = "Received " & imageupload1.FileName & " Content Type " & imageupload1.PostedFile.ContentType & " Length " & imageupload1.PostedFile.ContentLength 
     Else 
      Label1.Text = "No uploaded file" 
     End If 

end sub 

</script> 

</head> 

<body> 

<form id="imguplad" runat=server> 

<asp:FileUpLoad id="imageupload1" AlternateText="You cannot upload files" runat="server" /> 
<asp:Button id="Button1" Text="Upload" OnClick="Button1_Click" runat="server" /> 
<asp:Label id="Label1" runat="server" /> 
<input type="button" value="Click here when image is uploaded" 
onClick="location.href='imageloadtest.aspx';"> 
</form> 

</body> 

</html> 

Je suis en train de le récupérer sur une autre page, en utilisant le code suivant:

<%@ Page Language="C#" %> 
<%@ Import Namespace="System" %> 
<%@ Import Namespace="System.IO" %> 
...blah 
<body> 

<img id="image" src="Server.MapPath(".")+"/uploadedimages/"+Request.Form["imageupload1.FileName"]";"> 

</body> 
...blah 

peut sembler ne pas obtenir de se présenter? Je dois avoir un peu tort.

EDIT: Au fait, l'image est parfaitement chargée, elle n'apparaîtra pas sur la page suivante.

Répondre

0

Essayez avec

<img id="image" src="<%=Server.MapPath("~")%>/uploadedimages/<%=Request.Form["imageupload1.FileName"]%>"> 

Vous pouvez également définir manuellement le nom de l'image en session parce que vous n'aurez pas accès à imageupload1.FileName dans une autre page, où le contrôle imageupload1 n'existe pas.

Donc, dans votre événement, cliquez sur Ajouter Session["ImagePath"] = imageupload1.FileName Et la balise img par Request.Form["imageupload1.FileName"] remplacer Session["ImagePath"]

+0

pas de chance avec ça. im en utilisant un "." tout au long du projet, ce qui devrait être correct de toute façon? merci – IceDragon

+0

hum désolé, j'ai changé d'avis quelques secondes après ... Je pense qu'il ya une discordance avec la façon dont le code devrait être utilisé dans la page aspx ... J'ai donc mis à jour la balise complète 'img'. –

+0

qui ne semble pas vouloir fonctionner non plus, maintenant il n'affiche plus rien (même l'icône d'image cassée). merci – IceDragon

Questions connexes