
I created an app and am trying to upload PDF into appwrite storage bucket and fetch it back but currently my issue is in uploading the PDF to appwrite storage bucket here is the upload function const handleUpload = async () => { if (!validateFields() || !pdf) { setErrors((prevErrors) => ({ ...prevErrors, pdf: 'Please select a PDF file.' })); return; }
try { const fileId = pdfMetadata ? pdfMetadata.fileId : 'unique()';
// Fetch and convert the file to a Blob
const response = await fetch(pdf.uri);
const fileBlob = await response.blob();
// Upload the file
const uploadResponse = await storage.createFile('pdfs_bucket', fileId, fileBlob);
// Generate a public URL for the uploaded file
const publicURL = storage.getFilePreview('pdfs_bucket', uploadResponse.$id);
if (pdfMetadata) {
// Update existing document
await databases.updateDocument('Coou_App', 'Pdf_metadata', pdfMetadata.$id, {
faculty,
department,
level,
semester,
course,
pdf_url: publicURL.href,
});
Alert.alert('Success', 'PDF Updated successfully!');
} else {
// Create a new document
await databases.createDocument('Coou_App', 'Pdf_metadata', 'unique()', {
faculty,
department,
level,
semester,
course,
pdf_url: publicURL.href,
});
Alert.alert('Success', 'PDF Uploaded successfully!');
}
// Reset state
setPdfMetadata({});
setActionButtonText('Update PDF');
} catch (err) { setErrors((prevErrors) => ({ ...prevErrors, upload: err.message || 'Failed to upload PDF.', })); } };

FYI, it's best to wrap code in backticks to format a bit nicer. You can use 1 backtick for inline code (https://www.markdownguide.org/basic-syntax/#code) and 3 backticks for multiline code (https://www.markdownguide.org/extended-syntax/#syntax-highlighting).

are you using the Appwrite react native SDK?
Recommended threads
- Duration of mp3 file.
Can I get the duration of an MP3 file stored in Appwrite storage?
- Realtime got disconnected. Reconnect wil...
Can I please get assistance with this error. I looked at similar issues but none lead to a concrete solution. I am using Expo and this is my code.
- Feature request: add version id to image...
Can Appwrite add a feature, such as a version ID, to make image URLs unique when needed? Currently, if I upload a new image using the existing ID, browsers and ...
