node實現批量上傳本地圖片轉為圖片CDN的項目實踐

目錄 前言 什么是圖片CDN 為什么用圖片CDN 實現過程 結語 前言 最近在做一個官網,里面需要很多圖片,比較占用資源,打包體積有點大。所以想換成圖片CDN方式,之前寫過一個類似的
目錄
  • 前言
  • 什么是圖片CDN
  • 為什么用圖片CDN
  • 實現過程
  • 結語

前言

最近在做一個官網,里面需要很多圖片,比較占用資源,打包體積有點大。所以想換成圖片CDN方式,之前寫過一個類似的,是需要后端同事提供接口,正好最近在看node,所以準備用node實現一下。

什么是圖片CDN

與傳統的CDN不同,圖片CDN是CDN網絡的一種應用,專門用于加速圖片的傳輸和加載,當使用圖片CDN的時候,圖片被保存在CDN提供商的服務器上,并通過多個地理位置的邊緣節點提供服務。當用戶請求訪問這些圖片時,CDN會自動將圖片傳送到距離用戶最近的邊緣節點,從而實現快速加載和高可用性。

為什么用圖片CDN

1.可以提高網頁加載速度,因為圖片被存儲在離用戶更近的服務器上,可以減少網絡延遲,加快傳輸速度,提高網頁加載速度。
2.節省帶寬消耗,CDN可以分擔原始服務器的流量壓力,通過緩存圖片并在需要時提供服務,從而減少原始服務器的帶寬消耗。
3.減輕源服務器的負載,將圖片的從源服務器上轉移到CDN服務器上,減小了打包的體積,減輕了服務器的壓力。

實現過程

這次實現主要用的是express + cloudinary + node,主要借用了cloudinary,將圖片上傳到cloudinary,

將其中的cloud_name、api_key、api_secret換成自己就行,話不多說直接上代碼

const express = require('express');
const multer = require('multer');
const cloudinary = require('cloudinary').v2;
const app = express();
// 配置Multer中間件
const storage = multer.diskStorage({
? destination: (req, file, cb) => {
? ? cb(null, 'uploads/'); // 指定上傳文件保存的目錄
? },
? filename: (req, file, cb) => {
? ? cb(null, file.originalname); // 使用原始文件名保存上傳文件
? }
});
const upload = multer({ storage });
// 配置Cloudinary
cloudinary.config({?
? ? cloud_name: '*********',?
? ? api_key: '*********',?
? ? api_secret: '*********' ?
? });
// 處理文件上傳
app.post('/upload', upload.array('images', 10), (req, res) => {
? const files = req.files;
? const uploadPromises = [];
? // 遍歷所有上傳的文件
? for (let i = 0; i < files.length; i++) {
? ? const file = files[i];
? ? const uploadPromise = new Promise((resolve, reject) => {
? ? ? cloudinary.uploader.upload(file.path, (error, result) => {
? ? ? ? if (error) {
? ? ? ? ? reject(error);
? ? ? ? } else {
? ? ? ? ? resolve(result);
? ? ? ? }
? ? ? });
? ? });
? ? uploadPromises.push(uploadPromise);
? }
? // 等待所有文件上傳完成
? Promise.all(uploadPromises)
? ? .then(results => {
? ? ? res.json(results);
? ? })
? ? .catch(error => {
? ? ? res.status(500).json({ error: '上傳失敗' });
? ? });
});
// 啟動應用程序
app.listen(3000, () => {
? console.log('應用程序已啟動');
});

然后在本地啟動node服務就行,通過postman調用本地接口,實現批量上傳

其中的url就是我所需要的,可以直接放在img標簽中,替換本地路徑的圖片換成cdn形式圖片

結語

寫這個服務的最大目的是為了偷懶,同時也方便打包減小打包體積,有條件的大佬可以在寫一個上傳頁面,不用在通過postman調用

到此這篇關于node實現批量上傳本地圖片轉為圖片CDN的項目實踐的文章就介紹到這了,更多相關node 批量圖片CDN內容請搜索技圈網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持技圈網!

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 亚洲色婷婷一区二区三区| 国产精品人人做人人爽人人添| 免费人成在线观看视频播放| a网站在线观看| 欧美成人第一页| 国产无遮挡裸体免费视频在线观看 | 美女胸又大又黄又www的网站| 尤物国午夜精品福利网站| 人妻内射一区二区在线视频| 51国产黑色丝袜高跟鞋| 日韩精品无码一本二本三本 | 久久国产精品二国产精品| 老师我好爽再深一点的视频| 女人18片毛片60分钟| 亚洲图片小说网| 青草青草久热精品视频在线观看 | 动漫精品一区二区三区四区| 99久久国产免费福利| 韩国电影禁止的爱善良的小子hd| 无码人妻av一二区二区三区| 免费一级e一片在线播放| 12至16末成年毛片高清| 日本免费人成在线网站| 免费h黄肉动漫在线观看| 69成人免费视频| 成年女人毛片免费播放人| 亚洲狠狠色丁香婷婷综合| 黑人巨大videos极度另类| 希崎杰西卡一二三区中文字幕| 亚洲欧美日韩闷骚影院| 青娱乐精品视频在线观看| 天堂在线观看视频| 亚洲AV无码专区在线播放| 精品国产福利久久久| 国产精品亚洲自在线播放页码| 中日韩精品视频在线观看| 欧美综合亚洲图片综合区| 国产午夜精品一区二区三区| av片在线播放| 日韩av无码一区二区三区不卡毛片 | 精品深夜av无码一区二区老年|