![](/img/trans.png)
[英]FTP upload of files - how to determine file upload has been completed on the server
[英]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.