Node.js + Express:无需重新加载页面即可上传文件

我正在使用Node.js创build一个聊天应用程序,并希望有一个file uploadfunction。 虽然我可以得到file upload,浏览器将始终被redirect到另一个链接或页面刷新,这当然扰乱了聊天。

首先,我尝试使用Express来做到这一点:

index.html的:

<form id="fileSendButton" action="/" method="post" enctype="multipart/form-data"> <input type="text" name="title"><br> <input type="file" name="upload" multiple="multiple"><br> <input type="submit" value="Upload"> </form> 

app.js:

 app.post('/', function(req, res){ //some validation and rename file res.send(); return false; }); 

接下来,我尝试使用AJAX,但仍然无法做到这一点,每当AJAX POST到Node.js服务器,它会重新加载页面。 无论如何,我的AJAX代码:

index.html的:

 $.ajax({ type: "POST", url: "/", data: formdata, processData: false, contentType: false, success: function (res) { document.getElementById("chatText").innerHTML = res; } }); return false; 

第三我去看看Uploadify,但不想添加Flash依赖到我的网站,所以我没有实现它。

任何人都可以帮助我吗? 上传文件时,我不想重新加载页面。

您可以在客户端使用dynamic创build的隐藏框来完成。

在这里看到与expressjs的详细howto。

Uploadify现在有一个纯粹的HTML5播放。