项目性能优化之七牛云对象存储

前端:

        安装第三方包:

pnpm i qiniu-js

        前端代码:

<div>
    <input type="file" ref="fileInput" />
    <button @click="uploadFun">上传文件</button>
</div>
<script setup lang="ts">
import * as qiniu from 'qiniu-js'
import { ref } from 'vue'
    
const fileInput = ref<HTMLInputElement | null>(null)

async function uploadFun() {
    const file = fileInput.value.files[0]
    console.log(file, 'files')

    const result = await getUploadToken()
    console.log(result, 'result')
    const token = result.data
    const key = file.name
    const putExtra = {
        fname: key,
    }
    const config = {
        useCdnDomain: true,
        region: qiniu.region.z1,
    }

    const observable = qiniu.upload(file, key, token, putExtra, config)

    const observer = {
        next(res) {
            console.log(res)
        },
        error(err) {
            console.log(err, 'err')
        },
        complete(res) {
            console.log(res, 'res')
        },
    }
    observable.subscribe(observer)
    // 在项目中,根据不同组件(执行环境)需要不同的返回值。
    // 在react + antd-mobile + ImageUploader 图片上传中,需要返回一个Promise对象,并且该对象中需要拥有url属性。
    // return Promise.resolve({url:'XXXXXX'})
}
</script>

        注意事项:

        在项目中,根据不同组件(执行环境)需要不同的返回值。

后端:

        安装第三方包:

pnpm i qiniu

        config/index.js

module.exports = {
    Ak:'',
    Sk:'',
}

        routes/upload.js

var express = require('express');
var router = express.Router();
// 七牛云模块
const qiniu = require('qiniu')
const {Ak,Sk} = require('../config/index')

router.get('/uploadToken',(req,res)=>{
    // 构建鉴权对象
    const mac = new qiniu.auth.digest.Mac(Ak, Sk);
    const options = {
        scope: 'nvb-blog',
    };
    const putPolicy = new qiniu.rs.PutPolicy(options);
    const uploadToken = putPolicy.uploadToken(mac);
    res.json({
        code:200,
        data:uploadToken,
        msg:"success"
    })
})

module.exports = router

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一、WordPress 七牛云对象存储(简称:WPQiNiu),基于七牛云对象存储与 WordPress 实现静态资源到对象存储中,让静态资源包括图片、附件分离 WordPress 根目录,提高网站打开速度。 插件特点 新增支持图像自定义处理 设置水印、编辑图片、压缩 WEBP 等 支持已有图片编辑功能 支持自定义域名设置 支持一键替换静态本地化至对象存储远程 URL 支持一键禁止缩略图 支持自定义任意对象存储目录,一个存储桶可以多网站 支持自动文件重命名 支持本地和对象存储分离和同步 2020 年重构代码改变传统逻辑模型 二、 WordPress 百度搜索推送插件,主要功能:发布新文章时推送文章 URL 至百度搜索资源平台,支持主动推送、自动推送、快速收录,并且完全免费。 百度搜索推送插件特色: 仅发布新文章时才主动提交,修改/更新文章不会重复提交。 与其它同类插件相比较,本插件不会新增自定义栏目,故而不会在数据库中留下垃圾数据,不会使数据库变得臃肿。 实时显示提交成功的数量与快速收录当天的提交量。 可设置百度自动推送代码。 本插件为绿色插件,卸载插件后不会留下任何数据。 三、 生成 XML 地图和 HTML 地图。 XML 地图已经通过百度,谷哥,360,搜狗,头条蜘蛛测试。 HTML 地图采取最简模式设计,方便蜘蛛爬取。 可以在每次更新文章时自动更新。 也可以手动更新。 四、 Akismet 会根据我们的全球垃圾评论数据库检查您的评论和联系表单提交,以保护您和您的站点免受恶意内容的侵害。您可以在站点的“评论”管理屏幕上查看垃圾评论。 Akismet 的主要功能包括: 自动检查所有评论,并筛选出垃圾评论。 每个评论都有状态记录,因此您可以轻松查看 Akismet 发现或清除哪些评论与哪些评论被主持人判断是否是垃圾评论。 在评论正文中,显示 URL 与显示隐藏或误导性的连结。 主持人可以看到每个用户的批准注释数。 丢弃功能彻底阻止最恶劣的垃圾评论,节省您的磁盘空间并加快您的站点速度。 五、 WP SMTP 插件是国人制作的,设置页面的顶部包含了 Gmail 邮箱、微软邮箱、163 邮箱、QQ 邮箱的设置示例,可以点击对应的图标查看示例截图,其他邮箱设置方法也差不多。 WP SMTP 插件已被 WordPress 官方收录,已自带简体中文语言包,而且可以在卸载时自动删除设置数据。 配置好 WP SMTP 以后,你可以发送一封测试邮件,看是否成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值