fix: base64 convert to file for all image type
This commit is contained in:
@@ -113,21 +113,12 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
const imageFile = useMemo(() => {
|
|
||||||
return base64ToFile(uploadList[0]?.dataUrl, 'image');
|
|
||||||
}, [uploadList]);
|
|
||||||
|
|
||||||
const maskFile = useMemo(() => {
|
|
||||||
if (!mask) return null;
|
|
||||||
return base64ToFile(mask, 'mask');
|
|
||||||
}, [mask]);
|
|
||||||
|
|
||||||
const finalParameters = useMemo(() => {
|
const finalParameters = useMemo(() => {
|
||||||
if (parameters.size === 'custom') {
|
if (parameters.size === 'custom') {
|
||||||
return {
|
return {
|
||||||
..._.omit(parameters, ['width', 'height', 'preview', 'random_seed']),
|
..._.omit(parameters, ['width', 'height', 'preview', 'random_seed']),
|
||||||
image: base64ToFile(image, 'image'),
|
image: null,
|
||||||
mask: maskFile,
|
mask: null,
|
||||||
size:
|
size:
|
||||||
parameters.width && parameters.height
|
parameters.width && parameters.height
|
||||||
? `${parameters.width}x${parameters.height}`
|
? `${parameters.width}x${parameters.height}`
|
||||||
@@ -135,11 +126,11 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
image: imageFile,
|
image: null,
|
||||||
mask: maskFile,
|
mask: null,
|
||||||
..._.omit(parameters, ['width', 'height', 'random_seed', 'preview'])
|
..._.omit(parameters, ['width', 'height', 'random_seed', 'preview'])
|
||||||
};
|
};
|
||||||
}, [parameters, maskFile, imageFile]);
|
}, [parameters]);
|
||||||
|
|
||||||
const viewCodeContent = useMemo(() => {
|
const viewCodeContent = useMemo(() => {
|
||||||
if (isOpenaiCompatible) {
|
if (isOpenaiCompatible) {
|
||||||
@@ -211,9 +202,14 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
form.current?.form?.setFieldValue('seed', params.seed);
|
form.current?.form?.setFieldValue('seed', params.seed);
|
||||||
console.log('params:', params, parameters);
|
|
||||||
setRouteCache(routeCachekey['/playground/text-to-image'], true);
|
setRouteCache(routeCachekey['/playground/text-to-image'], true);
|
||||||
await submitMessage(params);
|
|
||||||
|
await submitMessage({
|
||||||
|
...params,
|
||||||
|
image: base64ToFile(_.get(uploadList, '0.dataUrl'), 'image'),
|
||||||
|
mask: mask ? base64ToFile(mask, 'mask') : null
|
||||||
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// console.log('error:', error);
|
// console.log('error:', error);
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
+1
-1
@@ -153,7 +153,7 @@ export const generateRandomNumber = () => {
|
|||||||
|
|
||||||
function base64ToBlob(base64: string, contentType = '', sliceSize = 512) {
|
function base64ToBlob(base64: string, contentType = '', sliceSize = 512) {
|
||||||
try {
|
try {
|
||||||
const base64Content = base64.replace(/^data:image\/(png|jpg);base64,/, '');
|
const base64Content = base64.replace(/^data:image\/[^;]+;base64,/, '');
|
||||||
const byteCharacters = atob(base64Content);
|
const byteCharacters = atob(base64Content);
|
||||||
const byteArrays = [];
|
const byteArrays = [];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user