bugfix: change sol.basetool to so.nettool; remove Multer-related code because this is just a simple static web server.
This commit is contained in:
parent
d0e33a88f2
commit
f7723e1c60
@ -24,11 +24,9 @@
|
|||||||
"http-proxy": "^1.17.0",
|
"http-proxy": "^1.17.0",
|
||||||
"method-override": "^2.3.10",
|
"method-override": "^2.3.10",
|
||||||
"morgan": "^1.9.0",
|
"morgan": "^1.9.0",
|
||||||
"multer": "^1.4.2",
|
|
||||||
"serve-favicon": "^2.5.0",
|
"serve-favicon": "^2.5.0",
|
||||||
"sol.enviconfig": "git+https://git.faronear.org/npm/sol.enviconfig",
|
"sol.enviconfig": "git+https://git.faronear.org/npm/sol.enviconfig",
|
||||||
"sol.basetool": "git+https://git.faronear.org/npm/sol.basetool",
|
"sol.nettool": "git+https://git.faronear.org/npm/sol.nettool",
|
||||||
"sol.webtoken": "git+https://git.faronear.org/npm/sol.webtoken",
|
|
||||||
"vhost": "^3.0.2"
|
"vhost": "^3.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
27
server.js
27
server.js
@ -1,7 +1,6 @@
|
|||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const tool = require('sol.basetool')
|
const nettool = require('sol.nettool')
|
||||||
const webtoken = require('sol.webtoken')
|
|
||||||
const express = require('express')
|
const express = require('express')
|
||||||
|
|
||||||
const wo = (global.wo = {
|
const wo = (global.wo = {
|
||||||
@ -53,28 +52,6 @@ if (typeof wo.envi.ssl === 'string') {
|
|||||||
server.use(require('body-parser').urlencoded({ extended: false }))
|
server.use(require('body-parser').urlencoded({ extended: false }))
|
||||||
server.use(require('cookie-parser')())
|
server.use(require('cookie-parser')())
|
||||||
server.use(require('compression')())
|
server.use(require('compression')())
|
||||||
const Multer = require('multer')
|
|
||||||
server.use(
|
|
||||||
Multer({
|
|
||||||
//dest:'./File/', // 这样,不能自定义文件名。
|
|
||||||
storage: Multer.diskStorage({
|
|
||||||
destination: function (req, file, cb) {
|
|
||||||
// 如果直接提供字符串,Multer会负责创建该目录。如果提供函数,你要负责确保该目录存在。
|
|
||||||
let folder = './upload/' // 目录是相对于本应用的入口js的,即相对于 server.js 的位置。
|
|
||||||
cb(null, folder)
|
|
||||||
},
|
|
||||||
filename: function (req, file, cb) {
|
|
||||||
// 注意,req.body 也许还没有信息,因为这取决于客户端发送body和file的顺序。
|
|
||||||
let ext = file.originalname.replace(/^.*\.(\w+)$/, '$1')
|
|
||||||
let _passtokenSource = webtoken.verifyToken(req.headers._passtoken, wo.envi.tokenKey) || {}
|
|
||||||
let filename = `${req.path.replace(/^\/api\d*/, '')}_${_passtokenSource.uuid}_${Date.now()}.${ext}`
|
|
||||||
cb(null, filename)
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
//fileFilter:function(req, file, cb) {},
|
|
||||||
limits: { fileSize: 10485760 },
|
|
||||||
}).single('file')
|
|
||||||
)
|
|
||||||
|
|
||||||
/*** 路由 ***/
|
/*** 路由 ***/
|
||||||
// vhost 匹配了域名,就执行;不匹配,就next()
|
// vhost 匹配了域名,就执行;不匹配,就next()
|
||||||
@ -110,7 +87,7 @@ if (typeof wo.envi.ssl === 'string') {
|
|||||||
|
|
||||||
/*** 启动 Web 服务 ***/
|
/*** 启动 Web 服务 ***/
|
||||||
let webServer
|
let webServer
|
||||||
let ipv4 = tool.getMyIp()
|
let ipv4 = nettool.getMyIp()
|
||||||
let portHttp = wo.envi.port || 80
|
let portHttp = wo.envi.port || 80
|
||||||
let portHttps = wo.envi.port || 443
|
let portHttps = wo.envi.port || 443
|
||||||
if ('http' === wo.envi.protocol) {
|
if ('http' === wo.envi.protocol) {
|
||||||
|
Loading…
Reference in New Issue
Block a user