J'ai un FileUpload
(et il n'est pas à l'intérieur d'un UpdatePanel
) et son hasFile
est toujours False
.
<asp:FileUpload ID="certificateUploader" runat="server"/>
Une idée ?
J'ai un FileUpload
(et il n'est pas à l'intérieur d'un UpdatePanel
) et son hasFile
est toujours False
.
<asp:FileUpload ID="certificateUploader" runat="server"/>
Une idée ?
Ajoutez un déclencheur pour votre UpdatePanel
<Triggers>
<asp:PostBackTrigger ControlID="btnCertificateUpload" />
</Triggers>
Ceci forcera un postback lorsque le bouton de téléchargement est cliqué.
Ajoutez également la ligne suivante au Page_Load
Page.Form.Attributes.Add("enctype", "multipart/form-data");
Et qu'en est-il du même problème avec un FileUpload qui n'est pas à l'intérieur d'un UpdatePanel (comme le dit la question) ?
Si quelqu'un qui ne connaît pas Update Panel et FileUpload trouve cette réponse à partir d'un moteur de recherche (comme moi), jetez un coup d'œil à ce lien. c-sharpcorner.com/uploadfile/prathore/ Cela m'a également aidé. Quoi qu'il en soit, merci pour votre réponse courte mais efficace.
J'ai également téléchargé un fichier à l'aide du contrôle FileUpload, mais la propriété HasFile renvoie un message faux. Il s'avère que FileUpload.HasFile est également faux si vous téléchargez un fichier vide. Dans ce cas, si vous ajoutez du texte au fichier que vous souhaitez télécharger, la propriété HasFile renverra un message vrai.
Pour compléter l'exemple donné par @dbFrameIT Support :
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Always" runat="server">
<ContentTemplate>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="UploadButton" runat="server" Text="Upload Selected File" OnClick="UploadButton_Click" />
<asp:Label ID="UploadDetails" runat="server" Text=""></asp:Label>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="UploadButton" />
</Triggers>
</asp:UpdatePanel>
votre code derrière (c#)
protected void UploadButton_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile == false)
{
UploadDetails.Text = "Please first select a file to upload...";
}
else
{
string FileName = FileUpload1.FileName;
UploadDetails.Text = string.Format(
@"Uploaded file: {0}<br />
File size (in bytes): {1:N0}<br />
Content-type: {2}",
FileName,
FileUpload1.FileBytes.Length,
FileUpload1.PostedFile.ContentType);
// Save the file
string filePath = Server.MapPath("~/Brochures/" + FileUpload1.FileName);
FileUpload1.SaveAs(filePath);
}
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Soyez clair dans votre question. Que se passe-t-il exactement ?
0 votes
Lorsque je clique sur le bouton browse et que je recherche un fichier, que j'en sélectionne un et que je clique sur open, je peux voir le chemin du fichier directement sur le contrôle fileUploader, lorsque je clique sur le bouton Save (personnalisé pour mon application), je vérifie s'il .hasFile et il renvoie False à chaque fois.
0 votes
J'ai édité ma Question avec plus de code sauf pour les deux dernières lignes qui n'ont pas pu être copiées.