1. 程式人生 > >網路資源直接轉存到七牛雲物件儲存

網路資源直接轉存到七牛雲物件儲存

首先安裝qiniu的npm包

npm install qiniu –save

設定鑑權物件

const qiniu = require('qiniu')
// ak和sk分別可以在七牛雲個人中心檢視
const accessKey = '***zs1z8SfbXLuntI***'
const secretKey = '***BJYJ1lkWOAJcp***'
// 鑑權物件mac
const mac = new qiniu.auth.digest.Mac(accessKey, secretKey);

設定七牛雲配置物件

const config = new qiniu.conf
.Config(); //zone為你所購買的物件儲存空間的地區,如華南、華東等 config.zone = qiniu.zone.Zone_z1

初始化資源管理物件

// 資源管理的操作物件
const bucketManager = new qiniu.rs.BucketManager(mac, config);

設定要獲取的網路資源url和key,以及需要轉存到七牛雲空間名字bucket

const url = 'https://img3.doubanio.com/view/photo/l_ratio_poster/public/p2530772196.jpg'
const bucket = 'images'
const key = 'jinghong.png'

該資源上傳到七牛雲後,域名將為:七牛雲資源域名 + key

獲取資源、轉存到七牛雲


bucketManager.fetch(url, bucket, key, (err, respBody, respInfo) => {
  if (err) {
    console.log(`發生異常${err}`)
  } else {
    if (respInfo.statusCode === 200) {
      console.log(`key: ${respBody.key} Hash: ${respBody.hash} 
        fsize: ${respBody.fsize} mimeType: ${respBody.mimeType}
`) } else { console.log('錯誤status', respInfo.statusCode) console.log(respBody); } } })

將上傳函式封裝成Promise物件

// 封裝成promise
const uploadQiniu = (url, bucket, key) => {
  // 返回一個promise物件
  return new Promise((resolve, reject) => {
    bucketManager.fetch(url, bucket, key, (err, resBody, resInfo) => {
      if (err) {
        reject(err)
      } else {
        if (resInfo.statusCode === 200) {
          resolve(resBody.key)
        } else {
          console.log(`錯誤狀態碼:${resInfo.statusCode}`)
        }
      }
    })
  })
}

Promise非同步上傳函式的使用方法: then/catch方法

uploadQiniu(url, bucket, key).then((resKey) => {
  console.log(resKey)
}).catch((err) => {
  console.log(`初始化${err}`)
})

Promise非同步上傳函式的使用方法: async/await方法

// async/await方法呼叫
;(async () => {
  console.log('start upload')
  try {
    const newKey = await uploadQiniu(url, bucket, key)
    console.log(`上傳結束,更新的key為${newKey}`)
  } catch (err) {
    console.log(err)
  }
})()

相關推薦

網路資源直接物件儲存

首先安裝qiniu的npm包 npm install qiniu –save 設定鑑權物件 const qiniu = require('qiniu') // ak和sk分別可以在七牛雲個人中心檢視 const accessKey = '***

上傳圖片,視訊等檔案到物件儲存

上傳圖片: 需要用到的引數: 1、AccessKey (在“個人中心”–>“祕鑰管理”中) 2、SecretKey (在“個人中心”–>“祕鑰管理”中) 3、儲存空間名字(自己建立的) 1、建立一個Maven專案 pom.xml &l

物件儲存客戶端直傳前後端實現 【spring cloud + vue】

兩種檔案上傳的方式 服務端傳輸 客戶端直傳 兩種傳輸方式比較 服務端傳輸,所有客戶端的上傳請求需傳送至業務伺服器,再由業務伺服器轉發至檔案伺服器,上傳結果的返回同樣需要業務伺服器的轉發,這樣的操作保證了傳輸的安全,但卻大大提升了業務

Go實戰--golang上傳檔案到物件儲存(github.com/qiniu/api.v7)

生命不止,繼續 go go go !!! 在國內,七牛絕對是golang的領導者。 七牛雲 關於七牛: (七牛雲)隸屬於上海七牛資訊科技有限公司,七牛雲是國內領先的企業級雲服務商,專注於以資料管理為中心的雲端計算業務研發和運營,圍繞富媒體場景推出了物件儲

在ThinkPHP5框架下引入Ueditor並實現向物件儲存上傳圖片同時將圖片資訊儲存到MySQL資料庫,同時實現lazyload懶載入

這是我花了很多天的時間才得以真正實現的一組需求。 文章後面有完整Demo的GitHub連結。 一、 需求描述 1. 應用是基於ThinkPHP5開發的; 2. 伺服器環境是LNMP,PHP版本是7.2,資料庫是MySQL5.6; 3. 由使用者(包括管理員)上傳的圖片一類的媒體檔案不能直接上傳到應用

基於物件儲存,搭建一個自己專屬的極簡Web圖床應用(手摸手的註釋講解核心部分的實現原理)

一個極簡的Web圖床應用,支援複製貼上與拖拽上傳圖片 1.開發緣由 日常使用Vs Code編寫markdown筆記與部落格文章時,在文章中插入圖片時發現非常不便 使用本地檔案編寫相對路徑---沒法直接複製貼上到其它地方 使用第三方的圖床---需要登入賬號(還是放到自己"口袋"裡放心) vs code內建外掛

檔案儲存

七牛物件儲存將資料檔案以資源的形式上傳到空間中。您可以建立一個或者多個空間,然後向每個空間中上傳一個或多個檔案。通過獲取已上傳檔案的地址進行檔案的分享和下載。您還可以通過修改儲存空間或檔案的屬性或元資訊來設定相應的訪問許可權。快速入門接下來將假設您至少已經熟悉七

如何利用線上儲存圖片

平時寫學習筆記和部落格文章的時候早已習慣了使用 Markdown 記錄,各種方便,但圖片的儲存和展示成了一個比較關鍵的問題,雖然可以使用本地相對路徑顯示圖片,但也很不方便,總不能一直是單機版吧。七牛雲是國內一個不錯的線上儲存平臺,客戶眾多,你不用擔心哪天公司突然

檔案儲存的使用【劉新宇】

七牛雲端儲存 需求 使用者頭像、文章圖片等資料需要使用檔案儲存系統來儲存 方案 自己搭建檔案系統服務 選用第三方物件儲存服務 我們在頭條專案中使用七牛雲物件儲存服務 http://www.qiniu.com。 使用 註冊 新建儲存空間 使用七牛SDK完成程式碼實現

php用最簡單的方式實現7物件儲存檔案上傳

今天看了一下七牛雲的物件儲存 簡單看了一下開發文件實現了七牛雲的檔案上傳 七牛雲檔案有免費的空間 所以還是挺有用的 只需要改三個配置就行 設定 <?php require 'qiniuy/autoload.php'; use Qiniu\Auth

小程序對接

use blob 定義 上傳視頻 ear 綁定 空間名字 通過 優先 前言: 做小程序有一段時間了,總結一下做過的技術點,特此貢獻給小夥伴們!項目中,有圖片存儲、視頻存儲、錄音存儲這三個需要雲對接存儲。 一、圖片/視頻/錄音上傳七牛對接 準備工作: a、你要有一個七

第一個go的web程序;調用儲的音頻api問題解決;條件搜尋文件中的內容,字符串拼接+在上一行

業務 方式 blog efi 命令 elf wid must qiniu package main import ( "html/template" "io" "io/ioutil" &q

WP集成儲(原創)

keyword 原來 所有 上傳 pdf 節點 cname int ima 借助:七牛鏡像存儲 WordPress 插件 https://wordpress.org/plugins/wpjam-qiniu/ 安裝本插件1.4.5及以上版本,請先安裝並激活WPJAM

Ueditor結合儲上傳圖片、附件和圖片在線管理的實現和最新更新

1.4 star json serve 列出文件 教程 開發 存儲服務器 name 最新下載地址: https://github.com/widuu/qiniu_ueditor_1.4.3 Ueditor七牛雲存儲版本 註意事項 老版本請查看 : https://gith

C#實現

網站 根據 lln edit edi except 分享 img 存儲 雲存儲,就是把本地的資源文件存放至網絡上,可以公網訪問。相當於網盤功能,感覺非常方便。 這裏介紹的是七牛雲存儲。有興趣的可以去官方網站詳看 根據官網的介紹,本身是提供SDK的,下載地址,大家可以根據

同步資源工具使用說明

ons ket 使用說明 des jee 七牛 count onf sset 目的:使用七牛雲命令行工具同步本地的資源文件到服務器上 工具:qshell 的 qupload 命令 下載:https://developer.qiniu.com/kodo/tools

上手

構造 最終 類註釋 lan cti tput 註冊 小型網站 ray 早就聽說過七牛雲存儲,終於有時間上手實踐。 1、第一步,註冊七牛賬號,由於是測試,首先申請的是個人賬號 2、註冊成功之後,默認是體驗賬號,每月只有1G的空間容量及1G的下載流量

2018年最新有效的儲充值優惠碼(19345821)以及充值圖文教程

target -i 流量 服務 激活 再次 cdn加速 進行 選擇 我們可能熟悉的七牛雲存儲提供商,提供的功能可能局限在提供圖片和文檔存儲服務的,比如每個免費賬戶10GB存儲空間是免費的,而且上傳流量也是免費的,而且請求數值也有一定免費的額度。當然七牛雲提供的服務不僅局

django之集成對象

固定 文件上傳 項目 10gb ken true 保留 ron 雲服務 Python3 + Django2.0 集成 “七牛雲” 對象存儲 (SDK文檔地址:http://developer.qiniu.com/kodo/api/3928/error-responses)

OneinStack定時同步備份數據庫/網站至儲方法

align lan https 加速 錯誤 如何 定時 targe 支持 無論我們用WEB面板,還是用一鍵腳本安裝環境建站,只要一旦我們開始用VPS、服務器,最為關鍵的就是服務器中的數據。因為大部分VPS、服務器商家都是無管理型主機,任何的安裝和維護都需要我們自行管理。即便