MCPcopy Index your code
hub / github.com/admineral/OpenAI-Assistant-API-Chat / prepareUploadFile

Function prepareUploadFile

app/modules/assistantModules.ts:38–65  ·  view source on GitHub ↗
(file: File, setStatusMessage: (message: string) => void)

Source from the content-addressed store, hash-verified

36* @returns {Promise<string>} - The ID of the uploaded file.
37*/
38export const prepareUploadFile = async (file: File, setStatusMessage: (message: string) => void): Promise<string> => {
39 setStatusMessage('Preparing file for upload...');
40
41 // If the file is an image, get a description from GPT-4 Vision API
42 if (file.type.startsWith('image/')) {
43 setStatusMessage('Converting image to base64...');
44 const base64Image = await convertFileToBase64(file);
45
46 setStatusMessage('Getting image description...');
47 const descriptionResponse = await uploadImageAndGetDescription(base64Image);
48
49 setStatusMessage('Creating description file...');
50 const descriptionBlob = new Blob([descriptionResponse.analysis], { type: 'text/plain' });
51 const descriptionFile = new File([descriptionBlob], 'description.txt');
52
53 setStatusMessage('Uploading description file...');
54 const uploadedFile: UploadedFileResponse = await uploadFile(descriptionFile);
55 setStatusMessage('Description file uploaded successfully. File ID: ' + uploadedFile.fileId);
56 return uploadedFile.fileId;
57 }
58
59 // If the file is not an image, upload it as a normal file
60 setStatusMessage('Uploading file...');
61 const uploadedFile: UploadedFileResponse = await uploadFile(file);
62 console.log('Uploaded file response:', uploadedFile); // Add this line
63 setStatusMessage('File uploaded successfully. File ID: ' + uploadedFile.fileId);
64 return uploadedFile.fileId;
65};
66
67
68

Callers 2

UploadFiles_ConfigureFunction · 0.90
sendMessageMethod · 0.90

Calls 3

convertFileToBase64Function · 0.90
uploadFileFunction · 0.90

Tested by

no test coverage detected