perf: read file internal (#5282)

This commit is contained in:
Archer
2025-07-22 17:28:55 +08:00
committed by GitHub
parent 5c95fa2b9a
commit bebe213891
3 changed files with 9 additions and 25 deletions

View File

@@ -27,6 +27,7 @@ import type { StoreSecretValueType } from '@fastgpt/global/common/secret/type';
import { addLog } from '../../../../common/system/log';
import { SERVICE_LOCAL_HOST } from '../../../../common/system/tools';
import { formatHttpError } from '../utils';
import { isInternalAddress } from '../../../../common/system/utils';
type PropsArrType = {
key: string;
@@ -414,6 +415,10 @@ async function fetchData({
params: Record<string, any>;
timeout: number;
}) {
if (isInternalAddress(url)) {
return Promise.reject('Url is invalid');
}
const { data: response } = await axios({
method,
baseURL: `http://${SERVICE_LOCAL_HOST}`,

View File

@@ -15,6 +15,7 @@ import { addLog } from '../../../../common/system/log';
import { addRawTextBuffer, getRawTextBuffer } from '../../../../common/buffer/rawText/controller';
import { addMinutes } from 'date-fns';
import { getNodeErrResponse } from '../utils';
import { isInternalAddress } from '../../../../common/system/utils';
type Props = ModuleDispatchProps<{
[NodeInputKeyEnum.fileUrlList]: string[];
@@ -175,6 +176,9 @@ export const getFileContentFromLinks = async ({
}
try {
if (isInternalAddress(url)) {
return Promise.reject('Url is invalid');
}
// Get file buffer data
const response = await axios.get(url, {
baseURL: serverRequestBaseUrl,

View File

@@ -1,25 +0,0 @@
import type { ApiRequestProps, ApiResponseType } from '@fastgpt/service/type/next';
import { NextAPI } from '@/service/middleware/entry';
import * as fs from 'fs';
import { authCert } from '@fastgpt/service/support/permission/auth/common';
export type writefileQuery = {};
export type writefileBody = {
name: string;
content: string;
};
export type writefileResponse = {};
async function handler(
req: ApiRequestProps<writefileBody, writefileQuery>,
res: ApiResponseType<any>
): Promise<writefileResponse> {
await authCert({ req, authRoot: true });
const { name, content } = req.body;
await fs.promises.writeFile(`public/${name}`, content);
return {};
}
export default NextAPI(handler);