zoukankan      html  css  js  c++  java
  • NodeJs 遍历文件夹内容 上传到服务器.并输出上传记录文件

     1 var path = require('path');
     2 var glob = require('glob')
     3 var fs = require('fs');
     4 var Promise = require('bluebird');
     5 var readdir = Promise.promisify(fs.readdir);
     6 var rename = Promise.promisify(fs.rename);
     7 var readFile = Promise.promisify(fs.readFile);
     8 var writeFile = Promise.promisify(fs.writeFile);
     9 var request = Promise.promisify(require('request'));
    10 var projectinfo = require('./build/projectinfo');
    11 const jsonname = "./uploadimg/uploadimg.txt";
    12 
    13 function updateFile(filepath, dir) {
    14     var _fileName = path.join(projectinfo.updatesrc, filepath.split('/').slice(2).join('/'));
    15     let tmp_fileName = filepath.split('/').slice(2).join('/');
    16     _fileName = _fileName.split('\').join('/');
    17     console.log(tmp_fileName);
    18 
    19     fs.readFile(jsonname, function(err, data) {
    20         if (err) {
    21             fs.createWriteStream(jsonname)
    22         }
    23     });
    24 
    25     var formData = {
    26         filename: _fileName,
    27         file: fs.createReadStream(filepath)
    28     };
    29     var _options = {
    30         method: 'POST',
    31         uri: 'http://***.***.***/upload/***?',
    32         qs: {
    33             guid: '***',
    34             rand: 1,
    35             time: 1,
    36             platform: 'server'
    37         },
    38         formData: formData
    39     }
    40     request(_options)
    41         .then(function(res) {
    42             var _body = JSON.parse(res.body);
    43             if (!_body.errno) {
    44                 var resinfo = JSON.parse(res.body);
    45                 console.log(resinfo);
    46                 writeJson(tmp_fileName, resinfo.data.url);
    47             }
    48         })
    49         .catch(function(err) {
    50             console.log(err)
    51         })
    52 }
    53 
    54 
    55 glob.sync('./uploadimg/*.*').forEach(function(entry) {
    56     basename = path.basename(entry)
    57     if (/(png)$/.test(basename) || /(jpg)$/.test(basename)) {
    58         //console.log("需要上传的文件:
    " + entry + "
    ")
    59         updateFile(entry)
    60     }
    61 })
    62 
    63 function writeJson(_name, _val) {
    64     var _str = _name + " : " + _val + "
    ";
    65     fs.appendFile(jsonname, _str, function(err) {
    66         if (err) {
    67             console.log("写入失败:" + obj);
    68         }
    69     });
    70 
    71 }
  • 相关阅读:
    负载(Load)分析及问题排查
    MySQL 数据库规范--调优篇(终结篇)
    AbstractQueuedSynchronizer
    为什么String被设计为不可变?是否真的不可变?
    数据库 分库 分表 分区
    Oracle 数据库知识汇总篇
    小知识:如何判断数据文件的高水位线
    RHEL7安装11204 RAC的注意事项
    案例:DG主库未设置force logging导致备库坏块
    Oracle 11g RAC之HAIP相关问题总结
  • 原文地址:https://www.cnblogs.com/wwcherish/p/8037593.html
Copyright © 2011-2022 走看看