我希望你能帮我解决一个小问题。我使用大部分客户端(JQuery/JavaScript)代码构建了一个完整的ASP.NET Web应用程序。我使用通用处理程序来进行一些数据的懒加载,以及自动完成等功能。
其中一个要求是某个页面需要能够上传文件,并显示有关上传文件的元信息。
我想知道是否有一种方法可以完全使用JQuery/JavaScript来上传文件。我研究了许多插件,但它们都依赖于具有php后端。
我的想法是创建一个post:
$(function(){
$('#submit').live('click', function(event){
$.post('/SomeOtherHandler.ashx', //can be '/someotherpage.aspx'
{
filename: $('#fileUpload').val(),
timestamp: (new Date()).toString()
}, function(data){
//do something if the post is successful.
});
});
});
这样行吗?我知道如果包含 json 对象
{ filename: value, timestamp: value }
,它将显示在 HttpContext.Request.Params
集合中,我可以毫无问题地读取它。但是问题在于,由于 FileUpload html 控件仅在其值中存储文件名,因此我将发送一个包含文件名的字符串而不是字节数组到我的服务器。
如果您有任何想法,请不吝赐教!
<input type="file".../>
,都会创建一种特殊类型的POST:其中提供了文件的MIME类型以及其他一些内容。该POST将被发送到您的<form action="".../>
指向的位置。当你点击一个<input type="submit".../>
时,整个表单的内容通过http POST发送到服务器端代码,包括文件位。我不是要求从JavaScript中抓取文件,而只是要重新创建该http POST,以便我的处理程序/页面可以从<input type="file".../>
字段获取数据。 - bleepzter