背景:
我正在为我的 CS 系做一个本科生研究项目。该项目是生物系的一个网站,一个主要特点是生物系学生能够上传他们自己的 .xml
文件,然后在服务器端使用 Matlab 为他们构建 * 模型。
前端在 ASP.NET、javascript 和 C# 环境中。我对这个项目的一点联想是我对这些系统、工具和语言的全部了解。
问题:
我之前提到的 .xml
文件可能需要几个小时才能上传和构建。我的教授希望用户能够使用已经完成的模型继续页面,同时新模型被发送到后台并且用户在完成时收到一封电子邮件。我找到了用于发送电子邮件的 Material ,但没有找到用于继续该页面的 Material 。
我听说过一些关于使用 AJAX 加载页面的事情?
最佳答案
在您的页面上放置一个文件上传控件
<asp:FileUpload ID="FileUpload1" runat="server"/>
构建一个 http 处理程序来处理文件上传:
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
HttpPostedFile fileToUpload = context.Request.Files["Filedata"];
string pathToSave = HttpContext.Current.Server.MapPath("~/Files/")
+ fileToUpload.FileName;
fileToUpload.SaveAs(pathToSave);
//Process file
}
public bool IsReusable {
get {
return false;
}
}
}
看看你是否可以集成一个像uploadify这样的上传插件进入项目(需要jQuery)。
<script type = "text/javascript">
$(document).ready(function()
{
$("#<%=FileUpload1.ClientID %>").uploadify(
{
'swf': 'Scripts/uploadify.swf',
'uploader': 'Handler.ashx',
'auto': true,
'buttonText': 'Select File(s)'
});
});
</script>
如果你不能做到这一点,你需要了解ajax是如何工作的
Ajax 通常使用 XMLHttpRequest,它不允许您对本地文件进行编码并将其发送到服务器。
您可以使用 Flash swf 来处理同一页面上的上传,或者使用具有不可见 1x1 iframe 目标的表单。
我在这个博客上找到了关于 file uploads in asp.net 的代码
关于c# - 有什么方法可以让我在上传文件时继续访问网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12966353/