在线图片视频资源转存

背景

怎么将网上心仪的图片、视频保存到自己的资源空间(图床)?给你一个资源链接,你需要几步将这个资源转存到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. 相关上传文章

总结

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

效果图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐闻x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值