zoukankan      html  css  js  c++  java
  • node express formidable 文件上传后修改文件名

    //我是用php的思想来学习nodejs

    var
    express = require('express'); var router = express.Router(); var fs = require('fs'); var path= require("path"); var formidable = require('formidable'); /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express+EJS+mysql+s2' }); }); router.post('/file-upload', function(req, res, next) { console.log('开始文件上传....'); var form = new formidable.IncomingForm(); //设置编辑 form.encoding = 'utf-8'; //设置文件存储路径 form.uploadDir = "./public/images/"; //保留后缀 form.keepExtensions = true; //设置单文件大小限制 form.maxFieldsSize = 2 * 1024 * 1024; //form.maxFields = 1000; 设置所以文件的大小总和 form.parse(req, function(err, fields, files) { //console.log(fields); console.log(files.thumbnail.path); console.log('文件名:'+files.thumbnail.name); var t = (new Date()).getTime(); //生成随机数 var ran = parseInt(Math.random() * 8999 +10000); //拿到扩展名 var extname = path.extname(files.thumbnail.name); //path.normalize('./path//upload/data/../file/./123.jpg'); 规范格式文件名 var oldpath = path.normalize(files.thumbnail.path); //新的路径 let newfilename=t+ran+extname; var newpath = './public/images/'+newfilename; console.warn('oldpath:'+oldpath+' newpath:'+newpath); fs.rename(oldpath,newpath,function(err){ if(err){ console.error("改名失败"+err); } res.render('index', { title: '文件上传成功:', imginfo: newfilename }); }); //res.end(util.inspect({fields: fields, files: files})); }); }); /* supervisor ./bin/www */ module.exports = router;
    <!DOCTYPE html>
    <html>
    <head>
    <title><%= title %></title>
    <link rel=’stylesheet’ href=’/stylesheets/style.css’ />
    </head>
    <body>
    <h5>这里变量没有输出但没有报销:<%= locals.title %></h5>
    <p>Welcome to <%= title %></p>
    
    <img src='./images/<%= locals.imginfo %>' width='200'/>
    
    
    <form method="post" enctype="multipart/form-data" action="/file-upload">
      <input type="text" name="username">
      <input type="password" name="password">
      <input type="file" name="thumbnail">
      <input type="submit">
    </form>
    </body>
    </html>

  • 相关阅读:
    ELF 格式简介
    gdb 使用说明;ARM 汇编
    博士研究生的组会PPT汇报相关-labgirls
    浅尝辄止·认识Blazor及基础使用
    VBA·Function的基础使用
    WCF·无法自动进入并单步执行服务器。调试器未能在服务器进程中停止。
    Word·查找任意汉字的方法
    VBA·编译错误:ByRef参数类型不符
    排坑·QQ浏览器打开MD文件时显示下载不能直接打开
    MSSQL·PIVOT关键字实现列转行
  • 原文地址:https://www.cnblogs.com/yuri2016/p/6659465.html
Copyright © 2011-2022 走看看