簡體   English   中英

請求文件在 asp.net 中不起作用

[英]request file not working in asp.net

我需要從在 html 中創建的 fileupload 請求文件。 我的問題很簡單,我該怎么做? 我知道有這個選項: HttpPostedFile File = Request.Files["imagem"]; 但是當我嘗試這樣做時,我的File返回NULL 我不知道我做錯了什么,但即使是這個簡單的代碼示例也不起作用,我不知道為什么。

<body>
    <form id="form1" runat="server">
    <div>
    protected void Button1_Click(object sender, EventArgs e)
        {
            HttpPostedFile File = Request.Files["imagem"];
      if ( File != null)
     Response.Write("Sucesso");
    }
   </form>
</body>

這是我的 aspx 代碼示例:

  <input type="file" name="image"  class="image-upload" /></div>
 <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

任何人都可以解釋我做錯了什么嗎? 謝謝你

可能只是這里的錯字,但您將imagem更改為image

protected void Button1_Click(object sender, EventArgs e)
{
    HttpPostedFile File = Request.Files["image"];

    if ( File != null)
        Response.Write("Sucesso");
}

在您的aspx頁面中,您需要告訴表單它將使用文件。 我認為這不是必需的,但是在您的輸入中還包含一個與您的姓名匹配的ID的優良作法。

<body>
    <form id="form1" runat="server" method="post" enctype="multipart/form-data">
        <input type="file" id="image" name="image"  class="image-upload" />
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
    </form>
</body>

我建議使用asp.net文件上傳控件:

<asp:FileUpload ID="pictureUpload" class="form-control input-sm input-spacing" runat="server" />

可以動態創建這些

FileUpload OneUpload = new FileUpload();
OneUpload.ID = "Upload" + MyIdNumber;
UploadsDiv.Controls.Add(OneUpload);

然后訪問文件,您具有:

pictureUpload.SaveAs(FilePathAndName);

您還可以訪問已發布文件的不同屬性...

pictureUpload.PostedFile.FileName
pictureUpload.PostedFile.ContentLength
pictureUpload.PostedFile.ContentType

por si a alguien le sirve este 鏈接 a mi me sirvió https://www.webcodeexpert.com/2013/08/fileupload-control-in-update-panel.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM