美文网首页
上传文件改名

上传文件改名

作者: benbensheng | 来源:发表于2019-03-25 13:56 被阅读0次
var  formidable = require('formidable');
var  http = require('http');
var  util = require('util');
var sd = require('silly-datetime');
var path=require("path");
var fs=require("fs");
http.createServer(function(req, res) {
  if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
    // parse a file upload
    var form = new formidable.IncomingForm();
    form.uploadDir = "./uploads";  //设置文件上传的地址
    form.parse(req, function(err, fields, files) {
            //文本域存储于fields  文件域存储 files
        res.writeHead(200, {'content-type': 'text/plain;charset=utf8'});
        var dateTime=sd.format(new Date(), 'YYYYMMDDHHmmss');
        var ran=parseInt(Math.random()*89999+10000);
        var extname=path.extname(files.upload.name);
        var oldPath="./"+files.upload.path;
        var newPath="./"+"uploads/"+dateTime+ran+extname;
        fs.rename(oldPath,newPath,function(){
        });
        res.end(__dirname);
    });

    return;
  }

  // show a file upload form
  res.writeHead(200, {'content-type': 'text/html'});
  res.end(
    '<form action="/upload" enctype="multipart/form-data" method="post">'+
    '<input type="text" name="title"><br>'+
    '<input type="text" name="age"><br>'+
    '<input type="file" name="upload" multiple="multiple"><br>'+
    '<input type="submit" value="Upload">'+
    '</form>'
  );
}).listen(8080);

写成模块的形式

相关联的文件夹


image.png

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <form action="http://localhost:8080/upload" enctype="multipart/form-data" method="post">
        <input type="text" name="title"><br>
        <input type="text" name="age"><br>
        <input type="file" name="upload" multiple="multiple"><br>
        <input type="submit" value="Upload">
        </form>
</body>
</html>

app.js

var  http = require('http');
var upload=require("./upload");
http.createServer(function(req, res) {
  if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
     upload.upload(req,res);
  }
}).listen(8080);

upload.js

var  formidable = require('formidable');
var  util = require('util');
var sd = require('silly-datetime');
var path=require("path");
var fs=require("fs");
var upload=function(req,res){
    var form = new formidable.IncomingForm();
    form.uploadDir = "./uploads";  //设置文件上传的地址
    form.parse(req, function(err, fields, files) {
            //文本域存储于fields  文件域存储 files
        res.writeHead(200, {'content-type': 'text/plain;charset=utf8'});
        var dateTime=sd.format(new Date(), 'YYYYMMDDHHmmss');
        var ran=parseInt(Math.random()*89999+10000);
        var extname=path.extname(files.upload.name);
        var oldPath="./"+files.upload.path;
        var newPath="./"+"uploads/"+dateTime+ran+extname;
        fs.rename(oldPath,newPath,function(){

        });
        res.end("改名成功");
    });
}
exports.upload=upload;

相关文章

网友评论

      本文标题:上传文件改名

      本文链接:https://www.haomeiwen.com/subject/vkmvvqtx.html