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播放。