var multer = require('multer');var storage = multer.diskStorage({  destination: function (req, file, cb) {    var type = file.mimetype.split("/")[0];    switch(type){      case "image":        cb(null, './images');        break;      case "audio":      case "video":        cb(null, './movies');        break;      default:        cb(null, './uploads');    }  },  filename: function (req, file, cb) {    cb(null, file.originalname);  }});var upload = multer({  storage: storage});
// apiapp.post("/api/upload", upload.single('file'), Admincontroller.postupload);
// postuploadexports.postupload = function (req, res) {  // 解决跨域问题   res.header("Access-Control-Allow-Origin", "*")  res.header("Access-Control-Allow-Methods", "*")  res.header("Access-Control-Allow-Headers", "*")  res.header("Access-Control-Allow-Credentials", "true")  res.header("Cache-Control", "no-cache")  res.header("content-type", "application/json;charset=UTF_8")
  if ("OPTIONS" == req.method) {    console.log("===> options reqest");    res.body = 200;    return;  }
  var file = req.file;  console.log("===> upload file: " + JSON.stringify(file))  var body = req.body;  console.log("===> upload body: " + JSON.stringify(body))  ......  // 处理音视频类型的文件    case 0: // 视频    case 1: // 音频    default: //视频 音频      {        var des = "./movies/";        var trans = body.dtranscode;        var taskId = body.id;        file.path = des + filename;        file.originalname = filename;        var filearr = filename.split(".");        filearr.pop();        var path = filearr.join('.');        var tmppath = des + path;        var exitst = fs.existsSync(tmppath);        if (!exitst) {          fs.mkdirSync(tmppath);        }        var newfilename = filename + body.dzchunkindex;        fs.renameSync(file.path, tmppath + "/" + newfilename);        if (body.dzchunkindex * 1 + 1 == body.dztotalchunkcount * 1) {          var files = fs.readdirSync(tmppath);          for (var i = 0; i < files.length; i++) {            fs.appendFileSync(file.path + "", fs.readFileSync(tmppath + "/" + filename + i));            fs.unlinkSync(tmppath + "/" + filename + i);          }          fs.rmdirSync(tmppath);        }        return res.json({          code: 0,          success: 1        });      }
评论 (1 条评论)