随笔 - 23  文章 - 0 评论 - 1 阅读 - 33270
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

  开头先简单说明一下,因为网络资源上最多的资源就是图片,所以在这里也只简单的捉取了图片资源,至于其他的文档,音乐等我是没有试过的。所以暂时还是以图片为案例!!!

Step1

  首先我们需要加载我们需要的资源模块  

1
2
3
const http = require('http');
const fs = require('fs');
const path = require('path')

  然后我们通过审查元素去获取图片资源的路径,对资源路径进行复制

  

Step2

  撰写对应下载图片的函数,定义好对应的图片路径(即我们刚才所复制的资源图片路径),生成对应的格式

  

  然后通过http模块进行读取网络图片的数据流,然后在读取成功后通过fs模块写入对应的文件中,文件所保存路径已经图片名称都是通过自己所定义的,我这里就直接用时间戳来定义图片到名称

  

  最后通过node运行刚才写的文件,我们就会对应的文件夹中看到我们刚才通过网上找到的图片了

   

Step3

  最后奉上所有代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
const http = require('http');
const fs = require('fs');
const path = require('path')
 
function uploadPicture(req,res,next){
    let pic_url = 'http://pic1.win4000.com/wallpaper/9/5450ae2fdef8a.jpg';                    // 图片对应的路径
    let pic_type = 'jpg';                           // 生成图片的格式
    http.get(pic_url,result=>{
        let chunks = [];                            // 用于保存网络请求不断加载传输的
        let size = 0;                               // 保存缓冲数据的总长度
        result.on('data',function (chunk) {
            chunks.push(chunk);
            size+=chunk.length;                     // 累加缓冲数据长度
        })
        result.on('end',function (err) {
            let dataBuffer= Buffer.concat(chunks,size);
            let pic_name = Date.now();
            let newPath = path.join(__dirname,'../../../images',+pic_name+'.'+pic_type);
            fs.writeFile(newPath,dataBuffer,function (err) {
 
            })
        })
    })
}
 
uploadPicture();

  

 

posted on   tyus  阅读(206)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
点击右上角即可分享
微信分享提示