nodejs记录2——一行代码实现文件下载

主要使用fs模块的pipe方法,简单粗暴:

import fs from "fs";
import path from 'path';
import request from 'request';

const movieDir = "./";

const movieName = "download_movie";

const url = "http://img4.imgtn.bdimg.com/it/u=2389140428,1315216178&fm=23&gp=0.jpg";

request.get(url).pipe(fs.createWriteStream(path.join(movieDir, movieName + '.jpg')));

输出一张图片:

var http = require("http");
var fs = require("fs");

http.createServer(function(req, res) {
    fs.createReadStream("./20170313185619.png").pipe(res);
}).listen(3000, "127.0.0.1");

上传图片:

var express = require('express')
var multer = require('multer')

var app = express()
var storage = multer.diskStorage({
    //设置上传后文件路径,uploads文件夹会自动创建。
    destination: function(req, file, cb) {
        cb(null, './uploads')
    },
    //给上传文件重命名,获取添加后缀名
    filename: function(req, file, cb) {
        var fileFormat = (file.originalname).split(".");
        cb(null, file.fieldname + '-' + Date.now() + "." + fileFormat[fileFormat.length - 1]);
    }
});
//添加配置文件到muler对象。
var upload = multer({
    storage: storage
});

app.post('/profile', upload.single('avatar'), function(req, res, next) {
    // req.file 是 `avatar` 文件的信息
    res.send("upload success")
});


app.listen(3000);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏流柯技术学院

centos6配置vnc登录远程物理机及vb复制vdi启动虚拟机网络问题

2、启动VNC服务 # vncserver You will require a password to access your desktops. Passw...

1112
来自专栏Youngxj

QQ红包 1.0.7-xp框架

1922
来自专栏ionic3+

【技巧】ionic3视频上传

有人问到视频上传这个问题,那我还是写一下吧,其实基本参考《ionic3多文件上传》这文章也行,不过对于单文件上传就不用那么复杂了,步骤如下:

782
来自专栏草根专栏

使用Identity Server 4建立Authorization Server (6) - js(angular5) 客户端

由于手头目前用项目, 所以与前几篇文章不同, 这次要讲的js客户端这部分是通过我刚刚开发的真是项目的代码来讲解的. 这是后端的代码: https://githu...

5265
来自专栏用户2442861的专栏

Tomcat源码 Connector(2)

 Connector是Tomcat最核心的组件之一,负责处理一个WebServer最核心的连接管理、Net IO、线程(可选)、协议解析和处理的工作。 一、...

901
来自专栏IMWeb前端团队

WebWorker简介

本文作者:IMWeb rakuluo 原文出处:IMWeb社区 未经同意,禁止转载 为 JavaScript引入线程技术 不必再用 setTime...

2038
来自专栏Golang语言社区

Golang 语言调用动态库实现OpenGL及windows的API编程

最近晚上没有事情的时候,研究下了开源的walk-master源码,自己简单的分析了下,如果在 import ( "github.com/lxn/win...

30212
来自专栏Debian社区

Debian 9.3上安装和配置 Observium 监控平台

Observium是一个免费的开源网络管理和监控工具,可用于监控所有的网络设备。 它是用PHP编写的,使用SNMP从连接的设备收集数据并使用Web界面监视它们。...

601
来自专栏

后端开源软件集合

缓存系统:memcached(group cache)、redis、mongodb、Couchbase(CouchDB、Membase、CouchOne) ht...

2189
来自专栏本立2道生

bootsect及setup

硬件逻辑设计为加电瞬间强行设置:CS=0xF000,IP=0xFFF0,CS:IP=0xFFFF0

893

扫码关注云+社区