|
@@ -8,7 +8,7 @@ const querystring = require("querystring");
|
|
var mysql = require("./mysql");
|
|
var mysql = require("./mysql");
|
|
// const _mysqlLabor = ["123.58.32.151", "pbl"]; //edu數據庫信息
|
|
// const _mysqlLabor = ["123.58.32.151", "pbl"]; //edu數據庫信息
|
|
// const _mysqluser = ["123.58.32.151", "cocorobouser"]; //用户数据库信息
|
|
// const _mysqluser = ["123.58.32.151", "cocorobouser"]; //用户数据库信息
|
|
-// const _getmysqlLabor = ["123.58.32.151", "pbl"]; //edu數據庫信息
|
|
|
|
|
|
+// const _getmysqlLabor = ["123.58.32.151", "pbl"]; //edu數據庫信息f
|
|
// const _getmysqluser = ["123.58.32.151", "cocorobouser"]; //edu數據庫信息
|
|
// const _getmysqluser = ["123.58.32.151", "cocorobouser"]; //edu數據庫信息
|
|
const _mysqlLabor = ["172.16.12.5", "pbl"]; //edu數據庫信息
|
|
const _mysqlLabor = ["172.16.12.5", "pbl"]; //edu數據庫信息
|
|
const _mysqluser = ["172.16.12.5", "cocorobouser"]; //edu數據庫信息
|
|
const _mysqluser = ["172.16.12.5", "cocorobouser"]; //edu數據庫信息
|
|
@@ -706,6 +706,55 @@ router.route("/copyFolder").all(async (req, res, next) => {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+
|
|
|
|
+// 下载文件功能
|
|
|
|
+router.route("/downloadFile").all(async (req, res, next) => {
|
|
|
|
+ var json = queryString(req.url);
|
|
|
|
+ let params = {
|
|
|
|
+ documentid: (json && json['documentid'] || req.body[0].documentid),
|
|
|
|
+ filename: (json && json['filename'] || req.body[0].filename),
|
|
|
|
+ };
|
|
|
|
+ try {
|
|
|
|
+ const response = await client.documents.download({ id: params.documentid });
|
|
|
|
+ console.log(response);
|
|
|
|
+
|
|
|
|
+ // 根据response的类型设置Content-Type
|
|
|
|
+ const contentType = response.type || 'application/octet-stream';
|
|
|
|
+ res.setHeader('Content-Type', contentType);
|
|
|
|
+ res.setHeader('Content-Disposition', `attachment; filename="${encodeURIComponent(params.filename)}"`);
|
|
|
|
+
|
|
|
|
+ // 直接发送blob数据
|
|
|
|
+ res.send(Buffer.from(await response.arrayBuffer()));
|
|
|
|
+ } catch (error) {
|
|
|
|
+ console.error("下载文件时发生错误:", error);
|
|
|
|
+ res.status(500).json({ error: error instanceof Error ? error.message : "发生错误" });
|
|
|
|
+ }
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+// 下载文件功能
|
|
|
|
+router.route("/downloadFile2").all(async (req, res, next) => {
|
|
|
|
+ var json = queryString(req.url);
|
|
|
|
+ let params = {
|
|
|
|
+ documentid: (json && json['documentid'] || req.body[0].documentid),
|
|
|
|
+ filename: (json && json['filename'] || req.body[0].filename),
|
|
|
|
+ };
|
|
|
|
+ try {
|
|
|
|
+ const response = await client.documents.download({ id: params.documentid });
|
|
|
|
+ console.log(response);
|
|
|
|
+
|
|
|
|
+ // 直接返回blob数据
|
|
|
|
+ res.setHeader('Content-Type', response.type || 'application/octet-stream');
|
|
|
|
+ res.setHeader('Content-Disposition', `attachment; filename="${encodeURIComponent(params.filename)}"`);
|
|
|
|
+
|
|
|
|
+ const buffer = Buffer.from(await response.arrayBuffer());
|
|
|
|
+ res.send(buffer); // 发送blob数据
|
|
|
|
+
|
|
|
|
+ } catch (error) {
|
|
|
|
+ console.error("下载文件时发生错误:", error);
|
|
|
|
+ res.status(500).json({ error: error instanceof Error ? error.message : "发生错误" });
|
|
|
|
+ }
|
|
|
|
+});
|
|
|
|
+
|
|
function generateAPIKey(username) {
|
|
function generateAPIKey(username) {
|
|
let timeStamp = new Date().getTime();
|
|
let timeStamp = new Date().getTime();
|
|
|
|
|