在线图片视频资源转存

news/2024/7/19 13:05:53 标签: js, node.js, 图片上传, 在线图片转存

背景

怎么将网上心仪的图片、视频保存到自己的资源空间(图床)?给你一个资源链接,你需要几步将这个资源转存到git上?一般人的做法可能就是先将资源下载到本地,然后再本地上传到对应的资源空间?如果操作一个资源转存,这样还不算麻烦,但是如果一次性要转存上百个资源,那就太痛苦。

本文我将介绍怎么一步将在线链接转存到git空间。

应用场景

  • 网页爬虫、博客搬家

  • 在线资源转存

功能实现

https://csdnimg.cn/medal/github@240.png

在这里插入图片描述

现在将CSDN的头像上传到自己的资源空间,比如git,七牛云等。

准备工作

  • Node环境

  • axios / request

1. 请求资源

以 Stream 形式下载在线图片

await axios.get(url, { responseType: "stream" });

2. 上传资源

以 Stream 形式上传资源,调用上传附件接口

onst formData = new FormData();
formData.append('file', fileRet.data);

await axios.post('http://localhost:8810/admin/material/upload',
formData, { headers: 
{ 
    'content-type': `multipart/form-data;boundary=${formData._boundary}` }
});

‘content-type’: multipart/form-data;boundary=${formData._boundary} 这个 header 是核心代码,必须加上才能上传 stream流资源。

3. 接受资源

以 Nest 框架为例

@Post('upload')
@UseInterceptors(FileInterceptor('file'))
async uploadFile(@UploadedFile() file ) {
    // 拿到file文件可以保存到服务器本地或者上传到资源池

}

4. 相关上传文章

  • 七牛云上传静态资源

  • Ajax图片上传功能实现(点击,拖拽,粘贴)Koa服务端)

  • Koa转发stream流数据

总结

https://cdn.fmlg1688.cn//images/e387a23a4e2f4ea58c41ed8e060ca166.png

效果图


http://www.niftyadmin.cn/n/1142994.html

相关文章

python操作json_python如何操作json文件

Python对Json文件的操作主要用到的model是:json, 所以首先我们要把json加载进来:import json 然后我们用到的是json下的 json.load / json.dumps 函数,结合IO的基本文件操作函数 open/write/close实现对json文件的操作。 1. 首先我们需要新建…

spyder 怎么看函数定义_高中数学必修一函数知识点总结

同学们,今天开始讲解函数章节学习,函数这章极其重要,因为函数是高中数学重要的枢纽章节,高中数学除了立体几何和概率统计和函数没有关系之外,所有章节多多少少和函数有关系,所以函数学不好高中数学很难突破…

【前端样式】当 BEM 遇见 CSS Module

前言 对于前端开发者来说,css相关问题是无论如何也绕不过去的。因为样式代码是就近生效原则,即同样的选择器定义的样式,后定义的样式代码会覆盖前面定义的样式代码。 class 做为 css 中最常用的选择器,刚入门的前端开发者会很纠…

java 新达达_SpringMVC RESTful 性能优化 | 新达达技术

背景达达后台系统目前每天都要支撑数十亿的访问量,这对于服务系统整体架构是个严峻的考验。考虑到越来越复杂的业务以及不断增加的访问压力,我们对数据层进行了一系列的改造(参见达达-高性能服务端优化之路),也对业务层进行了服务化(参见基于…

c++输入一个整数判断是否为完全平方数_C语言数据输入

1、如何将一个带小数点的数进行四舍五入计算?将数值加0.5,然后判断小数点是否大于1,小于1就去掉。使用强制类型转换可以去掉小数部分float a 3.78 ;float b ;b a 0.5 ;b (int)b ;printf("a%fn", a);printf("b%fn", b…

前端快速入门Koa.js

前言 Nodejs 提供了 http 能力,我们通过如下代码可以快速创建一个http server服务 const http require(http);http.createServer((req, res) > {res.write(hello\n);res.end();}).listen(3000);使用nodejs提供的原生能力启动一个http server并不麻烦&#xff…

查找文件中每行第二个单词_总结|ORB_SLAM2源码中字典使用细节

点击上方“3D视觉工坊”,选择“星标”干货第一时间送达前言前段时间,主要对ORB-SLAM2中字典的训练与使用进行了些研究,关于字典的训练之前也写过一篇文章:VSLAM|回环检测之词袋字典如何生成?,简单讲解了如何…

开源地图引擎openlayers_教你用vue+JavaScript+openlayers+iview制作天气预报图

啥都不说先看效果还有事件统计功能,以及本地天气预报功能。这算是前端技术中的webgis相关的知识,这些实现都是用的纯前端加上中国天气网api和高德地图的地理编码的api请求数据。因为这个小demo涉及的数据传递较多,所以我选择使用vue框架&…