mirror of
https://github.com/ONLYOFFICE/document-server-integration.git
synced 2026-02-10 18:05:10 +08:00
Preparation for pkg
Add abillity setup storage folder outside the repo
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@ -5,8 +5,9 @@
|
|||||||
/build/deploy
|
/build/deploy
|
||||||
/build/*.log
|
/build/*.log
|
||||||
/web/documentserver-example/nodejs/node_modules
|
/web/documentserver-example/nodejs/node_modules
|
||||||
/web/documentserver-example/nodejs/public/files
|
/web/documentserver-example/nodejs/files
|
||||||
/web/documentserver-example/nodejs/config/local.json
|
/web/documentserver-example/nodejs/config/local.json
|
||||||
|
/web/documentserver-example/nodejs/example
|
||||||
**/.vscode/
|
**/.vscode/
|
||||||
**/.idea
|
**/.idea
|
||||||
/web/documentserver-example/java/target/
|
/web/documentserver-example/java/target/
|
||||||
@ -35,6 +35,7 @@ const syncRequest = require("sync-request");
|
|||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
const config = require('config');
|
const config = require('config');
|
||||||
const configServer = config.get('server');
|
const configServer = config.get('server');
|
||||||
|
const storageFolder = configServer.get("storageFolder");
|
||||||
const mime = require("mime");
|
const mime = require("mime");
|
||||||
const docManager = require("./helpers/docManager");
|
const docManager = require("./helpers/docManager");
|
||||||
const documentService = require("./helpers/documentService");
|
const documentService = require("./helpers/documentService");
|
||||||
@ -99,7 +100,7 @@ app.use(bodyParser.urlencoded({ extended: false }));
|
|||||||
app.get("/", function (req, res) {
|
app.get("/", function (req, res) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
docManager.init(__dirname, req, res);
|
docManager.init(storageFolder, req, res);
|
||||||
|
|
||||||
res.render("index", {
|
res.render("index", {
|
||||||
preloaderUrl: siteUrl + configServer.get('preloaderUrl'),
|
preloaderUrl: siteUrl + configServer.get('preloaderUrl'),
|
||||||
@ -119,7 +120,7 @@ app.get("/", function (req, res) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
app.get("/download", function(req, res) {
|
app.get("/download", function(req, res) {
|
||||||
docManager.init(__dirname, req, res);
|
docManager.init(storageFolder, req, res);
|
||||||
|
|
||||||
var fileName = fileUtility.getFileName(req.query.fileName);
|
var fileName = fileUtility.getFileName(req.query.fileName);
|
||||||
var userAddress = docManager.curUserHostAddress();
|
var userAddress = docManager.curUserHostAddress();
|
||||||
@ -140,11 +141,11 @@ app.get("/download", function(req, res) {
|
|||||||
|
|
||||||
app.post("/upload", function (req, res) {
|
app.post("/upload", function (req, res) {
|
||||||
|
|
||||||
docManager.init(__dirname, req, res);
|
docManager.init(storageFolder, req, res);
|
||||||
docManager.storagePath(""); //mkdir if not exist
|
docManager.storagePath(""); //mkdir if not exist
|
||||||
|
|
||||||
const userIp = docManager.curUserHostAddress();
|
const userIp = docManager.curUserHostAddress();
|
||||||
const uploadDir = path.join("./public", configServer.get('storageFolder'), userIp);
|
const uploadDir = path.join(storageFolder, userIp);
|
||||||
const uploadDirTmp = path.join(uploadDir, 'tmp');
|
const uploadDirTmp = path.join(uploadDir, 'tmp');
|
||||||
docManager.createDirectory(uploadDirTmp);
|
docManager.createDirectory(uploadDirTmp);
|
||||||
|
|
||||||
@ -297,7 +298,7 @@ app.get("/convert", function (req, res) {
|
|||||||
|
|
||||||
app.delete("/file", function (req, res) {
|
app.delete("/file", function (req, res) {
|
||||||
try {
|
try {
|
||||||
docManager.init(__dirname, req, res);
|
docManager.init(storageFolder, req, res);
|
||||||
let fileName = req.query.filename;
|
let fileName = req.query.filename;
|
||||||
if (fileName) {
|
if (fileName) {
|
||||||
fileName = fileUtility.getFileName(fileName);
|
fileName = fileUtility.getFileName(fileName);
|
||||||
@ -322,7 +323,7 @@ app.delete("/file", function (req, res) {
|
|||||||
|
|
||||||
app.post("/track", function (req, res) {
|
app.post("/track", function (req, res) {
|
||||||
|
|
||||||
docManager.init(__dirname, req, res);
|
docManager.init(storageFolder, req, res);
|
||||||
|
|
||||||
var userAddress = req.query.useraddress;
|
var userAddress = req.query.useraddress;
|
||||||
var fileName = fileUtility.getFileName(req.query.filename);
|
var fileName = fileUtility.getFileName(req.query.filename);
|
||||||
@ -513,7 +514,7 @@ app.post("/track", function (req, res) {
|
|||||||
app.get("/editor", function (req, res) {
|
app.get("/editor", function (req, res) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
docManager.init(__dirname, req, res);
|
docManager.init(storageFolder, req, res);
|
||||||
|
|
||||||
var fileExt = req.query.fileExt;
|
var fileExt = req.query.fileExt;
|
||||||
var history = [];
|
var history = [];
|
||||||
|
|||||||
@ -22,13 +22,14 @@
|
|||||||
"viewedDocs": [".pdf", ".djvu", ".xps"],
|
"viewedDocs": [".pdf", ".djvu", ".xps"],
|
||||||
"editedDocs": [".docx", ".xlsx", ".csv", ".pptx", ".ppsx", ".txt"],
|
"editedDocs": [".docx", ".xlsx", ".csv", ".pptx", ".ppsx", ".txt"],
|
||||||
"convertedDocs": [".docm", ".doc", ".dotx", ".dotm", ".dot", ".odt", ".fodt", ".ott", ".xlsm", ".xls", ".xltx", ".xltm", ".xlt", ".ods", ".fods", ".ots", ".pptm", ".ppt", ".ppsm", ".pps", ".potx", ".potm", ".pot", ".odp", ".fodp", ".otp", ".rtf", ".mht", ".html", ".htm", ".epub"],
|
"convertedDocs": [".docm", ".doc", ".dotx", ".dotm", ".dot", ".odt", ".fodt", ".ott", ".xlsm", ".xls", ".xltx", ".xltm", ".xlt", ".ods", ".fods", ".ots", ".pptm", ".ppt", ".ppsm", ".pps", ".potx", ".potm", ".pot", ".odp", ".fodp", ".otp", ".rtf", ".mht", ".html", ".htm", ".epub"],
|
||||||
"storageFolder": "files",
|
"storageFolder": "./files",
|
||||||
|
"storagePath": "/files",
|
||||||
"maxFileSize": 1073741824,
|
"maxFileSize": 1073741824,
|
||||||
"mobileRegEx": "android|avantgo|playbook|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino",
|
"mobileRegEx": "android|avantgo|playbook|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino",
|
||||||
"static":[
|
"static":[
|
||||||
{
|
{
|
||||||
"name": "/public",
|
"name": "/files",
|
||||||
"path": "public"
|
"path": "./files"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"token": {
|
"token": {
|
||||||
|
|||||||
@ -1,6 +1,13 @@
|
|||||||
{
|
{
|
||||||
"server": {
|
"server": {
|
||||||
"siteUrl": "/",
|
"siteUrl": "/",
|
||||||
"maxFileSize": 104857600
|
"maxFileSize": 104857600,
|
||||||
|
"storageFolder": "/var/lib/onlyoffice/documentserver-example/files",
|
||||||
|
"static":[
|
||||||
|
{
|
||||||
|
"name": "/files",
|
||||||
|
"path": "/var/lib/onlyoffice/documentserver-example/files"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,8 +4,8 @@
|
|||||||
"maxFileSize": 104857600,
|
"maxFileSize": 104857600,
|
||||||
"static":[
|
"static":[
|
||||||
{
|
{
|
||||||
"name": "/public",
|
"name": "/files",
|
||||||
"path": "public",
|
"path": "./files",
|
||||||
"options": {"maxAge": "7d"}
|
"options": {"maxAge": "7d"}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -32,7 +32,6 @@ const documentService = require("./documentService");
|
|||||||
const cacheManager = require("./cacheManager");
|
const cacheManager = require("./cacheManager");
|
||||||
const guidManager = require("./guidManager");
|
const guidManager = require("./guidManager");
|
||||||
const configServer = require('config').get('server');
|
const configServer = require('config').get('server');
|
||||||
const storageFolder = configServer.get('storageFolder');
|
|
||||||
const os = require("os");
|
const os = require("os");
|
||||||
|
|
||||||
let docManager = {};
|
let docManager = {};
|
||||||
@ -60,8 +59,6 @@ docManager.init = function (dir, req, res) {
|
|||||||
docManager.dir = dir;
|
docManager.dir = dir;
|
||||||
docManager.req = req;
|
docManager.req = req;
|
||||||
docManager.res = res;
|
docManager.res = res;
|
||||||
|
|
||||||
this.createDirectory(path.join(docManager.dir, "public", storageFolder));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
docManager.getLang = function () {
|
docManager.getLang = function () {
|
||||||
@ -113,7 +110,7 @@ docManager.getCorrectName = function (fileName, userAddress) {
|
|||||||
docManager.createDemo = function (demoName, userid, username) {
|
docManager.createDemo = function (demoName, userid, username) {
|
||||||
const fileName = docManager.getCorrectName(demoName);
|
const fileName = docManager.getCorrectName(demoName);
|
||||||
|
|
||||||
docManager.copyFile(path.join(docManager.dir, "public", "samples", demoName), docManager.storagePath(fileName));
|
docManager.copyFile(path.join(__dirname, "..","public", "samples", demoName), docManager.storagePath(fileName));
|
||||||
|
|
||||||
docManager.saveFileData(fileName, userid, username);
|
docManager.saveFileData(fileName, userid, username);
|
||||||
|
|
||||||
@ -149,9 +146,8 @@ docManager.getFileUri = function (fileName) {
|
|||||||
|
|
||||||
docManager.getlocalFileUri = function (fileName, version, forDocumentServer) {
|
docManager.getlocalFileUri = function (fileName, version, forDocumentServer) {
|
||||||
const serverPath = docManager.getServerUrl(forDocumentServer);
|
const serverPath = docManager.getServerUrl(forDocumentServer);
|
||||||
const storagePath = storageFolder.length ? storageFolder + "/" : "";
|
|
||||||
const hostAddress = docManager.curUserHostAddress();
|
const hostAddress = docManager.curUserHostAddress();
|
||||||
const url = serverPath + "/" + storagePath + hostAddress + "/" + encodeURIComponent(fileName);
|
const url = serverPath + configServer.get("storagePath") + "/" + hostAddress + "/" + encodeURIComponent(fileName);
|
||||||
if (!version) {
|
if (!version) {
|
||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
@ -172,13 +168,13 @@ docManager.getCallback = function (fileName) {
|
|||||||
|
|
||||||
docManager.storagePath = function (fileName, userAddress) {
|
docManager.storagePath = function (fileName, userAddress) {
|
||||||
fileName = fileUtility.getFileName(fileName);
|
fileName = fileUtility.getFileName(fileName);
|
||||||
const directory = path.join(docManager.dir, "public", storageFolder, docManager.curUserHostAddress(userAddress));
|
const directory = path.join(docManager.dir, docManager.curUserHostAddress(userAddress));
|
||||||
this.createDirectory(directory);
|
this.createDirectory(directory);
|
||||||
return path.join(directory, fileName);
|
return path.join(directory, fileName);
|
||||||
};
|
};
|
||||||
|
|
||||||
docManager.forcesavePath = function (fileName, userAddress, create) {
|
docManager.forcesavePath = function (fileName, userAddress, create) {
|
||||||
let directory = path.join(docManager.dir, "public", storageFolder, docManager.curUserHostAddress(userAddress));
|
let directory = path.join(docManager.dir, docManager.curUserHostAddress(userAddress));
|
||||||
if (!this.existsSync(directory)) {
|
if (!this.existsSync(directory)) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
@ -195,7 +191,7 @@ docManager.forcesavePath = function (fileName, userAddress, create) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
docManager.historyPath = function (fileName, userAddress, create) {
|
docManager.historyPath = function (fileName, userAddress, create) {
|
||||||
let directory = path.join(docManager.dir, "public", storageFolder, docManager.curUserHostAddress(userAddress));
|
let directory = path.join(docManager.dir, docManager.curUserHostAddress(userAddress));
|
||||||
if (!this.existsSync(directory)) {
|
if (!this.existsSync(directory)) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
@ -232,7 +228,7 @@ docManager.changesUser = function (fileName, userAddress, version) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
docManager.getStoredFiles = function () {
|
docManager.getStoredFiles = function () {
|
||||||
const directory = path.join(docManager.dir, "public", storageFolder, docManager.curUserHostAddress());
|
const directory = path.join(docManager.dir, docManager.curUserHostAddress());
|
||||||
this.createDirectory(directory);
|
this.createDirectory(directory);
|
||||||
const result = [];
|
const result = [];
|
||||||
const storedFiles = fileSystem.readdirSync(directory);
|
const storedFiles = fileSystem.readdirSync(directory);
|
||||||
|
|||||||
Reference in New Issue
Block a user