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 条评论
登录 后参与评论

相关文章

来自专栏针针小站

【Skill】忘记了WP后台密码怎么办,配合PhpMyAdmin找回密码

864
来自专栏Janti

redis学习笔记

Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位...

3549
来自专栏我是攻城师

windows 10环境下安装Tesseract-OCR与python集成

Tesseract是一个开源的ocr引擎,可以开箱即用,项目最初由惠普实验室支持,1996年被移植到Windows上,1998年进行了C++化。在2005年Te...

683
来自专栏王磊的博客

Visual Studio项目版本转换器(c#项目版本转换器 v1.0)

Visual Studio项目版本转换器(c#项目版本转换器 v1.0) 使用截图: ? 下载地址:http://files.cnblogs.com/stone...

2715
来自专栏王磊的博客

plsql查询乱码问题解决

 步骤一:新建变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK,确定即可;  步骤二: 退出pls...

3509
来自专栏木子昭的博客

sublime长博客利器,自动生成markdown目录

1674
来自专栏小樱的经验随笔

【批处理学习笔记】第二十二课:系统变量

    批处理的一些变量是由操作系统事先定义好的,可以适用于任何批处理,我们称这些特殊的变量为“系统变量”。系统变量有很多个,包括硬件类、操作系统类、文件路径类...

2614
来自专栏后端之路

IDEA使用copyright

背景 用了那么多的开源组件可能大家都会发现基本上各个组件都会在代码前面注释版权声明 比如Mybatis声明如下 /** * Copyright 2009...

2117
来自专栏不想当开发的产品不是好测试

testng-result中文乱码问题

背景 执行完用例查看报告,发现testng-result.xml文件中关于中文的都是乱码 解决方法 eclipse已设置了utf-8去编译,所以直接运行run ...

1918
来自专栏青枫的专栏

粘贴到vi/vim的代码,怎样避免向右不断缩进,保持原来的格式?解决vi/vim在粘贴中会在行首多很多缩进和空格的问题。

SecureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器。所以当你的服务器上的vi/vim设置为autoindent的话,在 i 模式下,那么它...

612

扫码关注云+社区