网络资源直接转存到七牛云对象存储

七牛云存储 远程抓取图片保存到指定空间(nodejs版),以及自定义key 最近两天老师给布置了一个小任务。有一个页面用到了UEditor文本编辑器,用户经常会直接粘贴整篇文档到编辑区,包括很多图片。图片的来源都是粘贴来源的地址,这可能大大影响图片的加载效率,以及如果源地址删除该图片,文章也无法正常显示。我要做的就是从该文章中,提取所有的图片,保存到内部云存储。这样,每次显示文章,就能直接从自己的云存储加载图片。 首先,我的大概思路是: 获取正片文章内容,正则匹配出所有 阅读详情

首先安装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)
  }
})()


七牛云官方文档:
http://developer.qiniu.com/kodo/sdk/1289/nodejs#upload-flow

手把手教你为STM32设备生成自定义MAC地址(基于芯片ID的5种算法对比) 本文详细介绍了基于STM32芯片ID生成自定义MAC地址的5种算法,包括直接截取、异或折叠、CRC32哈希、自定义混合运算及SHA-256摘要。通过对比分析各算法的计算复杂度、唯一性及适用场景,帮助嵌入式开发者根据项目规模与资源,选择最合适的方案,确保设备MAC地址的唯一性与合规性。 阅读详情

相关推荐

详解电路设计中的RC电路

​ 一、什么是RC电路 RC电路是指由电阻R和电容C组成的电路,它是脉冲产生和整形电路中常用到 的电路。 常见的RC充、放电电路、RC积分电路合RC微分电路接下来详细讲解。 二、RC充、放电电路 RC充、放电电路如下图所示,下面通过充电和放电两个过程来分析此电路。 ​RC充、放电电路图 (1)RC充电电路 RC充电电路图如下图(a)所示 RC充电电路图及充电曲线图 ​由上图分析: 将上图a中开关S置于“1”处,电源E开始通过电阻R对电容C充电,由于刚开始充电时电容两端没有..

IT xiaobai 4万+

七牛云异步抓取java_异步第三方资源抓取

描述从指定 URL 抓取资源,并将该资源存储到指定空间中。每次只抓取一个文件,抓取时可以指定保存空间名和最终资源名。发起任务说明抓取动作是异步操作,接受到抓取请求后服务端直接返回成功,资源会在后台进行抓取后存入存储,并产生一个回调请求通知业务服务器(如果存在回调参数)。因为各种原因抓取失败时会产生一个json格式的特殊回调通知业务服务器。如果被抓取的源站屏蔽(屏蔽可能是抓取源站有 IP、UA 等限...

weixin_36009977的博客 548

保姆级教程:用PyBullet和Stable-Baselines3搞定你的第一个机器人强化学习项目

本文提供了一份详细的PyBullet和Stable-Baselines3教程,帮助开发者快速上手机器人强化学习项目。通过环境配置、自定义Gym环境构建、PPO算法参数优化及模型部署的全流程解析,读者将掌握从零开始训练四足机器人 locomotion 任务的完整技术方案。

weixin_26861329的博客 420

最新!springboot+vue结合七牛云实现文件上传保存

本文章实现springboot+vue结合七牛云上传用户头像并保存到数据库的功能详解

2301_81047420的博客 558

告别底噪和发热:TPA3255的PCB布局与散热设计保姆级教程(附嘉立创EDA文件)

本文详细解析TPA3255 Class D音频功放的PCB布局与散热设计,提供从电源系统分层架构到热管理系统的全流程优化方案。通过实战案例展示如何消除底噪、降低发热,并附嘉立创EDA文件,助力工程师快速设计高性能音频功放。

weixin_29208077的博客 376

强化学习-马尔可夫模型

前文提到了强化学习源自马尔可夫决策过程,本文从马尔可夫概念入手,讲解和马尔可夫有关的模型和概念。在马尔科夫决策过程中,我们有一个智能体,它在一个马尔科夫过程中进行决策,每次决策都会导致状态的转移和获得即时奖励。智能体的目标是通过选择动作来最大化未来奖励的期望值。通常马尔科夫决策过程是个五元组:SAPRγSAPRγS 表示状态集合,代表智能体可能处于的所有状态。A 表示动作集合,代表智能体可以采取的所有动作。

君子之学必日新,日新者日进也。不日新者必日退,未有不进而不退者 8062

通过七牛云存储实现对本地资源的存储操作

def upload(request,params){ //文件保存目录路径 String savePath = request.getRealPath("/") + "attached/"; //文件保存目录URL //String saveUrl = request.getContextPath() + "/at...

weixin_30414245的博客 333

【系统分析师】第2章-基础知识:数学与工程基础(核心总结)

数学与工程基础

数据知道的博客 6813

通过图片地址上传到七牛云

通过图片地址上传到七牛云 composer 安装 七牛云 PHP-SDK php composer.phar require qiniu/php-sdk <?php use Qiniu\Auth; use Qiniu\Storage\UploadManager; // 上传单文件 public function UploadEventByUrl($imgUrl) { // 读取图片内容 $imageData = file_ge

Johnston先森的博客 370

吃透工业通信:C#工控机实现Modbus、OPC UA、Profinet、EtherCAT协议全适配

本文介绍了基于C#的工业通信协议全适配方案,采用分层架构设计实现Modbus、OPC UA、Profinet和EtherCAT四种主流协议的统一管理。核心包括:1)三层架构(应用层、抽象层、协议层)降低耦合;2)定义统一通信接口IIndustrialCommunication;3)工厂模式创建不同协议实例;4)以Modbus TCP为例展示具体实现。该方案经过实际项目验证,可简化多协议设备管理,提升工业自动化系统的开发效率。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 723

【银河麒麟桌面系统】自定义ISO镜像操作实践

本文详细介绍了麒麟操作系统Kylin-Desktop-V10-SP1的ISO镜像定制流程。通过挂载原始镜像、解压文件系统、进入chroot环境进行系统定制(包括文件替换和软件管理),最终重构squashfs并生成新ISO。关键步骤包括:挂载镜像到mnt目录、解压filesystem.squashfs、替换源配置文件、在chroot环境中清理系统、重新生成squashfs文件以及使用mkisofs命令创建新镜像。文章特别标注了x86和ARM架构的不同命令参数,并提供了安装测试验证方法。整个过程展示了从原始镜像

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 2342

七牛云部署GroundingDINO终极指南:对象存储与CDN加速集成全流程

想要将强大的**GroundingDINO**零样本目标检测模型部署到生产环境?七牛云对象存储与CDN加速的完美结合,正是您需要的解决方案!GroundingDINO作为革命性的开放式目标检测模型,能够通过语言描述检测任意物体,结合七牛云的存储和加速服务,可以打造高性能、高可用的AI应用系统。 ## 🚀 为什么选择七牛云部署GroundingDINO? **GroundingDINO**模型

gitblog_00952的博客 996

机器人控制仿真软件:MATLAB Simulink Control System Toolbox_(1).MATLAB基础知识

MATLAB(Matrix Laboratory)是由MathWorks公司开发的一种高性能数值计算和可视化软件。它广泛应用于科学计算、工程设计、信号处理、控制系统设计、图像处理等领域。强大的矩阵运算能力:MATLAB的核心是矩阵运算,能够高效处理大规模的数值数据。丰富的工具箱:MATLAB提供了大量的工具箱,如Control System Toolbox、Simulink、Signal Processing Toolbox等,这些工具箱覆盖了多个应用领域。易于使用的图形界面。

kkchenjj的博客 906

Java下spring boot 项目 管理七牛云储存 文件

在Spring Boot项目中,通过封装方法管理七牛云云存储中的文件,可以有效解决服务器带宽和硬盘不足的问题。首先,注册七牛云并创建存储空间,配置域名。然后,在项目中添加七牛云SDK依赖,创建ManageQiNiuYun类封装文件管理方法。该类提供了四个主要功能:上传文件到云存储、删除云存储中的文件、查询云存储中的文件列表以及生成文件的访问Token。通过@Component注解将ManageQiNiuYun类注入Spring容器,并在控制器中使用@Autowired进行调用。

qq_34007956的博客 505

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

探索QFetch:七牛云的高效文件下载工具

探索QFetch:七牛云的高效文件下载工具 qfetch七牛资源批量抓取工具,根据指定URL列表抓取资源并存储到七牛云空间。项目地址:https://gitcode.com/gh_mirrors/qf/qfetch 项目简介 是由七牛云开发的一个开源工具,它的主要目标是提供一个高效、稳定的文件下载解决方案。通过利用多线程和HTTP/2等先进技术,QFetch可以显著提高大文件下载的速度和成功率,...

gitblog_00036的博客 440

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

微信小程序开发-图片等资源上传到云存储外链引用之免费应用七牛云

微信小程序开发-图片等资源上传到云存储外链引用之免费应用七牛云 在小程序个人开发中,在项目里添加了过多的图片和字体图标,但上传代码时提示代码包过大(不可超过2M)。一阵纠结。现在介绍一个方式,把图片等资源上传至网络,可在小程序中引用。重点是免费,适合个人开发练习。 七牛云存储(免费) 链接:https://portal.qiniu.com/signup 点击进入正常注册即可,注意,需要实名后才可领取免费空间,10GB。 具体步骤: 1、登陆选择管理控制台 如下图: 2、然后选择产品 - 对象存储 如下图:

m0_46184946的博客 3995

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

不好意思七牛云的图片链接没了,周未想办法换图床

不好意思七牛云的图片链接没了,周未想办法换图床

听雪楼 541

七牛产品概览

七牛云产品概览服务对象: 个人开发者 创业团队 企业用户 对象存储(Kodo)简介:七牛云提供的数据存储服务主要是针对静态资源文件(image、js、css、音频、视频、文档[PDF、txt、json、xml、yml]、apk 等等)提供存储空间进行海量的非结构化数据存储;通过七牛提供的上传接口,直接将文件上传到七牛云服务器上,七牛会给每一个文件提供一个公网可访问地址进行访问(可以设置访问权限)。K

PEACEFUL000的专栏 2258

七云牛图片上传

1 图片存储方案 1.1 介绍 在实际开发中,我们会有很多处理不同功能的服务器。例如: 应用服务器:负责部署我们的应用 数据库服务器:运行我们的数据库 应用和数据库服务器 一般 内网 文件服务器:负责存储用户上传文件的服务器 分服务器处理的目的是让服务器各司其职,从而提高我们项目的运行效率。 常见的图片存储方案: 方案一:使用nginx(反向代理服务器)搭建图片服务器,网络资源 nginx对静态资源 处理非常好,图片服务器 nginx可以配置指向静态文件目录的映射 80 ...

qq_44810543的博客 500

文件上传与PDF报表Demo(2020.6.29记)

1.需求分析 在个人简历上面 实现员工照片上传功能 2.DataUrl概述 DataUrl:即"data(数据)"类型的url格式是在RFC2397中提出的,目的是对于一些“小”的数据,可以在网页中直接嵌入,而不是从外部文件载入。 完整的DataURL语法: DataURL= data:mediatype;base64,<Base64编码的数据>。 mediatype:表述传递的数据的MIME类型(text/html,image/png,image/jpg) 简单的说,da

muzili996 1066

基于实战开发垂直搜索引擎_博学谷-基于SaaS平台的iHRM实战开发 第9章

第9章 文件上传与PDF报表入门理解DataURL的基本使用,实现DataURL的文件上传完成基于七牛云的文件上传理解 JasperReport生命周期独立完成 JasperReport的入门案例1 图片上传1.1 需求分析如图所示,实现员工照片上传功能1.2 Data URL1.2.1 DataURL概述所谓DataURL是指"data"类型的Url格式,是在RFC2397中提出的,目的是对于一...

weixin_39972768的博客 8344

帝可得-文件存储

阿里云对象存储OSS(Object Storage Service),是一款海量、安全、低成本、高可靠的云存储服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种文件。在我们使用了阿里云OSS对象存储服务之后,我们的项目当中如果涉及到文件上传这样的业务,在前端进行文件上传并请求到服务端时,在服务器本地磁盘当中就不需要再来存储文件了。我们直接将接收到的文件上传到oss,由 oss帮我们存储和管理,同时阿里云的oss存储服务还保障了我们所存储内容的安全可靠。

m0_45253972的博客 1771

OpenStack Swift遇到了Erasure Code

在开始介绍Swift+Erasure Code之前,首先回顾下优快云此前的 报道。南加州大学和Facebook共同完成的Erasure Code演进——LRC,通过增加本地存储容量,提升了平均无故障时间,并减少恢复数据的开销。 作为云计算的核心系统之一,存储系统直接影响了整个系统的成本。七牛云存储CEO许式伟 表示: 我第一个云存储的讲座就已经讲了成本在云存储里面的重要性。实际上

阿福的专栏 1560

ModStartCMS全面支持国内云储存平台

云存储软件哪个好?今天就为大家带来几款云存储软件推荐,一起来看看吧。 阿里OSS云存储上传支持 支持客户端直传、服务端中转、分片上传 阿里云,阿里巴巴集团旗下云计算品牌,全球卓越的云计算技术和服务提供商。创立于2009年,在杭州、北京、硅谷等地设有研发中心和运营机构。 又拍云云存储上传支持 又拍云云存储上传插件,支持客户端直传、服务端中转、分片上传 又拍云,即又拍云存储,又拍云存储是通用的大规模存储服务。开放高度可扩展的API,为互联网企业提供基础存储系统。 2015年8...

qq_26450889的博客 136

公有云存储产品对比

1. 公有云介绍 1.1 阿里云 阿里云计算有限公司(http://www.aliyun.com/)成立于2009年9月10日,由阿里巴巴集团投资创办,在杭州、北京和硅谷等地设有研发中心和运营机构。阿里云的目标是要打造互联网数据分享的第一平台,成为以云主机注册使用数据为中心的先进的云计算服务公司。 行业分析师:阿里云致力于打造互联网数据分享第一平台,并购万网后,在云主机市场渐行渐近。依托阿里

恒天云的专栏 1404

七牛云存储之Fetch网络文件

概述: 七牛云存储服务,提供空间(Bucket)的概念,用来存储各种类型的文件,七牛内部将该服务取名为Kodo;通常都是上传本地文件,或者将企业或个人的网站的静态文件(image、css、javascript…..)通过配置镜像 平滑迁移到七牛的存储空间,但七牛其实也提供 抓取网络文件的操作,即:Fetch,但该操作比较适合一些小文件,大文件不建议使用该方法。 思路: 首先获取一个网络文件的url

PEACEFUL000的专栏 2926
上一篇: 深入理解Promise对象
下一篇: 初次使用MongoDB和mongoose
景洪在编程
博客等级 码龄9年 13粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值