nodejs实现上传下载,以及部分安装部署

       前段时间有个需求,领导让做个上传下载的页面,好适配他后台c语言生成license的功能,需要独立部署到Linux服务器。我思考许久,因为就一个页面部署,所以采用传统的Tomcat部署的工程肯定是不适合需求的,并且一般的js不能直接在linux服务器执行后台命令,所以我再查询前端技术后,觉得用node js 是最合适的,因为这样既不用麻烦前端容器,并且还能执行后台命令,最主要的是对流的操作有着相当的性能(nodejs相对于需要使用大量的计算的工程,性能不是很好),因此准备做一个nodejs的页面工程。

     下面是我的页面的截图(该图片已经运用于项目,请勿直接套用商业用途):

主要功能介绍,上传一个请求文件,然后日期在不手动填写的情况下,默认是当天至一百年后。然后点击生成license按钮,实现上传并生成license,最后把生成好得license下载下来。

       下面我们介绍一下怎样搭建nodejs工程(webstorm):

注意:创建nodejs前,需要先添加nodejs和express。请参考其他文档

因为我们只有一个页面,和一个server。所以我们可以删除路由和其余相关的文件夹,并且改造app.js,下面是我工程server的全部代码:

 

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

// 此方法用于在浏览器访问我们的IP时所要反回的界面
app.get("/", function (req, res) {
    res.sendFile(__dirname + "/Index.html");
});

app.get("/Images/logo.png", function (req, res) {
    res.sendFile(__dirname + "/Images/logo.png");
});

//此方法用于返回一个yyyyMMdd格式的日期
function getyyyyMMdd(date){
    var d = new Date(date);
    var curr_date = d.getDate();
    var curr_month = d.getMonth() + 1;
    var curr_year = d.getFullYear();
    String(curr_month).length < 2 ? (curr_month = "0" + curr_month): curr_month;
    String(curr_date).length < 2 ? (curr_date = "0" + curr_date): curr_date;
    var yyyyMMdd = curr_year + "" + curr_month +""+ curr_date;
    return yyyyMMdd;
}
//用于生产license的方法
function creatlicense(time,deadtime,req,res,currentTime,filename) {
    console.log("进入了生成license方法:"+time);
    console.log(deadtime);
    console.log(currentTime);
    //1.首先判断是否有生成license必备的文件
    var Uploder = __dirname +'/Images/imgUploader_'+currentTime+'_'+filename;
    if(!fs.existsSync(Uploder)){
        return res.end("Please upload the file");
    }else{
        //2.判断时间使用期限是否正确
        var olddate =  new Date(time);
        var olddeaddate = new Date(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值