繁体   English   中英

选择文件后如何自动上传文件

[英]How to automatically upload file after file has been chosen

我有以下代码用于在我的网站中上传文件:

@using (Html.BeginForm("UploadProfileImage", "Member", FormMethod.Post, new { @encType = "multipart/form-data" }))
   {

     @Microsoft.Web.Helpers.FileUpload.GetHtml(initialNumberOfFiles: 1, includeFormTag: false, uploadText: "Upload File",allowMoreFilesToBeAdded:false)
    <span class="success">@ViewData["SuccessMessage"]</span>
     <input class="button" type="submit" name="submit" value="Upload" />         

}

我希望它能够在用户从“浏览”按钮中选择文件后自动发布。 当前,每次用户选择要上传的文件时,用户都必须单击“上传”,是否要使此过程自动进行?

文件上传控件支持onchange事件。 希望可以用来触发上传

<form name="upload" action="uploadfile.aspx" method="POST">
    <input name="myfile" type="file" onchange="UploadFile()" />
</form>

<script>
   function UploadFile()
   {
      //do validation here
      document.forms['upload'].submit();
   }
</script>

ASP:

<input type="file" onchange="this.form.submit();" name="fUpload"/>

代码背后:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        System.Web.HttpPostedFile file = Request.Files["fUpload"];
        if (file != null && file.ContentLength > 0)
        {
            file.SaveAs(@"C:\dir\"+System.IO.Path.GetFileName(file.FileName));
        }
    }

}

asp:FileUpload而不是输入:

ASP:

<asp:FileUpload runat="server" onchange="this.form.submit();" ID="fuFile"/>

代码背后:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        if (fuFile.PostedFile.FileName != string.Empty  && fuFile.PostedFile.ContentLength > 0)
        {
            fuFile.PostedFile.SaveAs(@"C:\dir\" + fuFile.FileName);
        }
    }

}

FileUpload 不支持将所选文件自动上载到服务器的任何形式。 您将必须提供某种机制-请参阅MSDN。

保存上传的文件

用户选择要上传的文件后,FileUpload控件不会自动将文件保存到服务器。 您必须明确提供控件或机制以允许用户提交指定的文件。 例如,您可以提供用户单击以上传文件的按钮。 您编写的用于保存指定文件的代码应调用SaveAs方法,该方法将文件的内容保存到服务器上的指定路径。 通常,在事件处理方法中针对引发回发到服务器的事件的事件调用SaveAs方法。 ...

我没有使用Microsoft.web库,但是如果您可以在文件升级后自动调用Java脚本函数,那么您也可以实现这一目标。

如果您可以在此行中调用javascript功能:

@Microsoft.Web.Helpers.FileUpload.GetHtml(initialNumberOfFiles: 1, includeFormTag: false, uploadText: "Upload File",allowMoreFilesToBeAdded:false)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM