中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

NodeJS如何使用云服務器存儲上傳文件

發布時間:2021-07-24 11:22:18 來源:億速云 閱讀:212 作者:小新 欄目:web開發

這篇文章主要介紹NodeJS如何使用云服務器存儲上傳文件,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1-準備工作

確認安裝node和npm

安裝 qiniu,formidable,express模塊

npm install --save qiniu formidable

[x] 導入模塊

let qiniu = require('qiniu'),
  formidable = require('formidable'),
  express = require('express'),
  router = express.Router();

2-服務器端的云存儲操作

2-1文件上傳

router.post('/qiniu', function (req, res, next) {
 let bucket = 'myblog',
  key = '',
  form = formidable.IncomingForm(),
  token, putPolicy;
 form.uploadDir = path.join(__dirname, '../../', 'public/img/upload');
 form.keepExtensions = true
 form.parse(req, function (err, fields, files) {
  if (err) {
   console.log(err);
  }
  key = files.mypic.path.split(path.sep).pop();
  putPolicy = new qiniu.rs.PutPolicy(bucket + ':' + key)
  //設置回調
  // putPolicy.callbackUrl = 'http://localhost:81/test/callback'
  // putPolicy.callbackBody = 'filename=$(fname)&filesize=$(fsize)'
  token = putPolicy.token()
  console.log('token', token)
  let extra = new qiniu.io.PutExtra()
  qiniu.io.putFile(token, key, files.mypic.path, extra, function (err, ret) {
   if (err) {
    console.log(err)
   }
   console.log('ret', ret);
   res.json({
    token: token,
    ret: ret,
    files: files,
    fields: fields
   })
  })
 })
})

文件下載

router.get('/download/:key', function (req, res, next) {
 let url = 'http://xxxx.bkt.clouddn.com/' + req.params.key,
  policy = new qiniu.rs.GetPolicy();
 console.log(url);
 res.json({url: policy.makeRequest(url)})
})

文件獲取

router.get('/info/:key', function (req, res, next) {
 let bucket = 'myblog',
  key = req.params.key,
  client = new qiniu.rs.Client();
 client.stat(bucket, key, (err, ret) => {
  if (err) {
   console.log(err);
  }
  res.json(ret);
 })
})

以上是“NodeJS如何使用云服務器存儲上傳文件”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

磴口县| 马龙县| 永泰县| 临夏县| 临海市| 泰州市| 乌恰县| 阿克| 雅安市| 新和县| 塘沽区| 手机| 项城市| 华宁县| 卢湾区| 奇台县| 东平县| 湾仔区| 奉化市| 乐山市| 石台县| 庆城县| 伊金霍洛旗| 桐梓县| 白城市| 木里| 靖宇县| 濉溪县| 大竹县| 小金县| 道真| 岢岚县| 高阳县| 宁河县| 武威市| 江达县| 阳朔县| 五华县| 灵璧县| 克拉玛依市| 华池县|