我基本上希望从HTML页面发布和映像到asp.net C#页面,然后将这些数据发布到服务器。
我发现了许多企业级和网络形式的解决方案,但还有另一种方法可以避免使用网络表单吗?我不是生成HTML的忠实粉丝。基本上,伪代码就是这样。
<script type="text/javascript">
window.onload = function() {
button.onclick = function() {
http = new XMLHttpRequest();
url = "imageuploader.aspx";
params = <dunno how to post file data. Help?>
http.open("POST", url, true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.onreadystatechange = function () {
Test a bunch of stuff to see if image has been uploaded or we're still working on it
}
}
}
</script>
imageuploader.aspx
<%@ Page language="C#" validateRequest=false %>
<script language="C#" runat="server">
private void Page_Load (object sender, System.EventArgs e) {
<no clue what to do here since I've never done file uploading before>
}
<script>
答案 0 :(得分:0)
首先,XMLHttpRequest不支持文件上传。您可以使用jQuery Form Plugin,Form Plugin使用隐藏的iframe元素来帮助完成任务。这是一种常见的技术,但它具有固有的局限性。 iframe元素用作表单提交操作的目标,这意味着服务器响应被写入iframe。
其他选项也很少,
http://www.phpletter.com/Demo/AjaxFileUpload-Demo/
http://pixelcone.com/jquery/ajax-file-upload-script/
现在,在服务器端, Request.Files 使您可以访问数组集合中所有已发布的文件。