2016-11-07 67 views
0

我想在一個表單提交後顯示的工具的視頻文件(在標題中列出)後顯示一個文件到客戶端:的NodeJS multer表達形式上傳

const 

express = require('express'), 
server = express(), 
// SERVER MODULE/DEPENDENCY 

multer = require("multer"), 
// UPLOAD DEPENDENCY 

fs = require('fs'), 
// FOR THE VIDEO UPLOADS 

PORT = process.env.PORT || 3000, 
//USE AUTO ASSIGNED HEROKU PORT or 3000 for local. DO NOT REMOVE PROCESS.ENV.PORT 

bodyParser = require('body-parser'), 
//NEEDED FOR OUTSIDE JSON REQUESTS 

_ = require('underscore'), 
//FOR FILTERING OBJECTS AND OTHER TYPES OF DATA 

storage = multer.diskStorage({ 
    destination:function(req, file, callback){ 
      callback(null, './video_uploads');  
    }, 

    filename: function(req, file, callback){ 
      callback(null, file.fieldname + '-' + Date.now()); 
    } 
}); 
// Video Upload on Multer Dependency 

const upload = multer({ storage: storage}).single('video_upload'); 


server.use(bodyParser.json()); 
server.use(express.static(__dirname + '/public')); // 




server.post('/register.html', function(req, res){ 
res.sendFile(__dirname + '/public/register.html'); 
}); 


server.post('/video_upload', function(req, res){ 
upload(req, res, function(err){ 
    if(err){ 
     return res.end('Error uploading file.'); 
    } 

    else{ 
     res.sendFile('req.file'); 
    } 

    res.end(); 

}); 
}); 

上傳工作正常,但即時通訊試圖找出上傳後如何將上傳的文件 發送回前端。

我有一個

"<div id="resume-video-player"></div>" 

,我想一旦上傳完成後自動播放上傳的視頻,從客戶端練習I.我需要與Jquery或socket.io進行溝通嗎?我試着嘗試res.sendfile,就像你看到的那樣,但是我得到的只是一個錯誤,無法加載資源連接被拒絕。

謝謝。

回答

0

視頻的完整URL是

var url="PATH"+req.file.filename 

發送給您的客戶端使用

res.json(url) 

並在視頻標記設置的src與jQuery

到網址