是否可以通过Ajax上传文件?

时间:2011-04-15 23:09:05

标签: c# javascript jquery asp.net-mvc ajax

我想为我的ASP.NET MVC应用程序构建一个文件管理器,如果可以通过ajax上传文件,我很好奇。 I heard it was not possible and that you had to use flash

到目前为止,在我的旅行中,我偶然发现了这个演示:http://aquantum-demo.appspot.com/file-upload

它看起来像一个使用jQuery的非常可靠的文件上传器。这是否完全使用闪光来实现其目标?您对我刚刚链接的插件有何看法?

我听过很多关于Uploadify的内容,这会是一个更好的选择吗?

抱歉,我是上传竞技场的新手。

5 个答案:

答案 0 :(得分:3)

不,但你可以embed an iframe。此解决方案看起来像使用AJAX上传文件(无需刷新页面)。

答案 1 :(得分:3)

您的问题的答案是肯定的,但jquery plugins允许您achieve this在幕后使用iframe。

答案 2 :(得分:1)

您可以使用HTML5 file API(如果您使用称职的浏览器)。

var reader = new FileReader();

reader.readAsBinaryString(file);

reader.onload = function(string) {
    $.post(url, string, function() {
         // success
    }); 
};

答案 3 :(得分:1)

您可以按照建议使用Uploadifyajaxupload,这也是一个不错的选择。我同时使用它们,它们都是很好的组件。

答案 4 :(得分:1)

关于ajax,答案是否定的,JavaScript框架不支持上传文件,虽然这是HTML5,套接字和二进制文件阅读器等未来需要注意的事项。

对于您可以使用Flash上​​传器的平均时间,这将允许您上传文件而不更改页面的上下文。

它还允许您与网页进行交互,因此在上传文件后,您可以向页面发送命令以执行java脚本功能,反过来会修改页面本身。

我会看一下使用闪存加载器的Uploadify,它被设计成与jQuery完全交互。