mirror of
https://github.com/labring/FastGPT.git
synced 2026-05-11 01:02:01 +08:00
fix: api dataset filename fallback (#6529)
This commit is contained in:
@@ -95,7 +95,6 @@ export const useApiDatasetRequest = ({ apiServer }: { apiServer: APIFileServer }
|
||||
const getPreviewUrlFilename = (previewUrl: string) => {
|
||||
const parseFilename = (pathname: string) => {
|
||||
const filename = pathname.split('/').pop() || '';
|
||||
|
||||
if (!filename) return '';
|
||||
|
||||
try {
|
||||
@@ -112,6 +111,28 @@ export const useApiDatasetRequest = ({ apiServer }: { apiServer: APIFileServer }
|
||||
}
|
||||
};
|
||||
|
||||
const getFallbackTitle = async ({
|
||||
apiFileId,
|
||||
previewUrl
|
||||
}: {
|
||||
apiFileId: string;
|
||||
previewUrl: string;
|
||||
}) => {
|
||||
try {
|
||||
const fileDetail = await getFileDetail({ apiFileId });
|
||||
if (fileDetail.name) {
|
||||
return fileDetail.name;
|
||||
}
|
||||
} catch (error) {
|
||||
logger.warn('Get api dataset file detail for title fallback failed', {
|
||||
apiFileId,
|
||||
error
|
||||
});
|
||||
}
|
||||
|
||||
return getPreviewUrlFilename(previewUrl) || getNanoid();
|
||||
};
|
||||
|
||||
const listFiles = async ({
|
||||
searchKey,
|
||||
parentId
|
||||
@@ -176,6 +197,8 @@ export const useApiDatasetRequest = ({ apiServer }: { apiServer: APIFileServer }
|
||||
};
|
||||
}
|
||||
if (previewUrl) {
|
||||
const fallbackTitle = title || (await getFallbackTitle({ apiFileId, previewUrl }));
|
||||
|
||||
// Get from buffer
|
||||
const rawTextBuffer = await getS3RawTextSource().getRawTextBuffer({
|
||||
sourceId: previewUrl,
|
||||
@@ -183,7 +206,7 @@ export const useApiDatasetRequest = ({ apiServer }: { apiServer: APIFileServer }
|
||||
});
|
||||
if (rawTextBuffer) {
|
||||
return {
|
||||
title: title || rawTextBuffer.filename || getPreviewUrlFilename(previewUrl),
|
||||
title: title || rawTextBuffer.filename || fallbackTitle,
|
||||
rawText: rawTextBuffer.text
|
||||
};
|
||||
}
|
||||
@@ -198,7 +221,7 @@ export const useApiDatasetRequest = ({ apiServer }: { apiServer: APIFileServer }
|
||||
getFormatText: true
|
||||
});
|
||||
|
||||
const sourceName = title || getPreviewUrlFilename(previewUrl) || getNanoid();
|
||||
const sourceName = fallbackTitle;
|
||||
|
||||
getS3RawTextSource().addRawTextBuffer({
|
||||
sourceId: previewUrl,
|
||||
@@ -208,7 +231,7 @@ export const useApiDatasetRequest = ({ apiServer }: { apiServer: APIFileServer }
|
||||
});
|
||||
|
||||
return {
|
||||
title: title || sourceName,
|
||||
title: fallbackTitle,
|
||||
rawText
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user