专栏首页西安-晁州nodejs记录2——一行代码实现文件下载

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

相关文章

  • 编写原生 Node.js 模块

    当 Javascript 的性能遇到瓶颈,或者需要增强 Javascript 能力的时候,就需要依赖native模块来实现了。应用场景日常工作中,我们经常需要将...

    腾讯IVWEB团队
  • 通过 WeCOS 进行小程序瘦身

    尽管 4 月份微信官方将小程序的大小限制从 1M 放开到 2M,但是对于使用大量图片的小程序(电商等)来说,2M 的限制还是显得拮据。基于这种场景,腾讯云微信小...

    Jason
  • 一次 Node.js 内存溢出

    因为内存上限设置不合理,引起的内存溢出问题。之前压测时候只关注了是否存在内存泄露与cpu占用,而忽视了内存占用这个问题。对于部署服务时,要根据机器的内存上限以及...

    腾讯IVWEB团队
  • TensorFlow入门(1):求N元一次方程

    今年以来,人工智能成为一个时代热点,同时 TensorFlow 1.0 的发布后,我也想蹭蹭时代的热点,初步学习一下神经网络和机器学习,在这里把成果以初学者的方...

    谭正中
  • 推荐算法之协同过滤

    推荐算法在个性化领域有着广泛的应用,粗略统计,所涉及到的学科包括人工智能、机器学习、认知科学、信息抽取、数据挖掘、预测理论、近似理论,甚至是管理科学、市场营销和...

    刘建银
  • 自己部署 Node.js 版本的 Wafer2 Demo

    自行部署适用于想将腾讯云 Wafer SDK 和 Demo 部署在自己的服务器上以获得更高的灵活性和操纵权限的用户。部署过程需要从 0 开始搭建线上环境,需要有...

    Jason
  • TensorFlow入门(3):使用神经网络拟合N元一次方程

    现实中大部分情况是不能简单使用 N 元一次方程这样的公式表达的,神经网络的出现,给这类问题提供了一个很好的解决方法。本文继续给出一个简单的例子,使用 Tenso...

    谭正中
  • 多版本 Node.js 使用 Workflow

    NodeJS 成为新一届的版本帝后,需要预编译的模块常常更新不够及时,就会出现我这样上班时间搞环境 ,那么如何保持一机多版本继续使用低版本的 NodeJS 运行...

    郑家乐
  • 十个书写Node.js REST API的最佳实践(上)

    我们会通过本文介绍下书写Node.js REST API的最佳实践,包括各个主题,像是命名路由、认证、黑盒测试以及对相关资源使用合适的缓存头。

    张徐辰
  • 使用 Node.js 实现一个简单的 ZooKeeper 客户端

    Zookeeper 是一个分布式的、开源的协调服务,用在分布式应用程序中。它提出了一组简单的原语,分布式应用程序可以基于这些原语之上构建更高层的分布式服务用于实...

    腾讯IVWEB团队

扫码关注云+社区

领取腾讯云代金券