用node.js寫一個(gè)圖片上傳功能,我看網(wǎng)上的示例是這樣的??var?form?=?new?formidable.IncomingForm();????????//設(shè)置文件上傳存放地址
????????form.uploadDir?=?"./uploads";????????//執(zhí)行里面的回調(diào)函數(shù)的時(shí)候,表單已經(jīng)全部接收完畢了。
????????form.parse(req,?function(err,?fields,?files)?{
????????????var?oldpath?=?__dirname?+?"/"?+?files.tupian.path;?
?????????????//新的路徑
????????????var?newpath?=?__dirname?+?'/uploads/'+t+ran+extname;
?????????????????????????//改名
????????????fs.rename(oldpath,newpath,function?(err)?{
????????????????if(err){????????????????????throw??Error("改名失敗");
????????????????}
????????????????res.writeHead(200,?{'content-type':?'text/plain'});
????????????????res.end("成功");
????????????});這個(gè)例子里的 oldpath是什么取法? “files.tupian.path”,這是什么取法?tupian是這么冒出來的?var?oldpath?=?__dirname?+?"/"?+?files.tupian.path;我自己試了一下var?formidable?=?require("formidable");
var?fs?=?require("fs");
var?path?=?require("path");
var?form?=?new?formidable.IncomingForm();
//設(shè)置上傳文件夾
form.uploadDir?=?path.normalize(__dirname?+?"/../public/avatar");
form.parse(req,?function?(err,?fields,?files)?{
????console.log(files);
????var?oldpath?=?__dirname?+?"/"?+?files.touxiang.path;
???
});files能打印出來,我要取的path也有,但我該怎么取哪個(gè)path,如果像那個(gè)例子里那樣取的話會(huì)報(bào)錯(cuò)“TypeError: Cannot read property 'path' of undefined”各個(gè)包的版本如下??"dependencies":?{
????"express":?"^4.16.3",
????"express-session":?"^1.15.6",
????"formidable":?"^1.2.1",
????"fs":?"^0.0.1-security",
????"md5":?"^2.2.1",
????"mongodb":?"^2.0.5",
????"mongoose":?"^5.0.12",
????"path":?"^0.12.7"
??}
1 回答
已采納

pardon110
TA貢獻(xiàn)1038條經(jīng)驗(yàn) 獲得超227個(gè)贊
tupian就是上傳文件input 類型為file ,上傳屬性name , 與你寫的上傳文件表單相關(guān),files.tupian.path
則為上傳到服務(wù)器的臨時(shí)路徑
- 1 回答
- 0 關(guān)注
- 1150 瀏覽
添加回答
舉報(bào)
0/150
提交
取消