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
- How to stop my project from being frozen...
So we encountered an error in production because our appwrite project had been frozen due to inactivity. Is there any way of automating checking in and activity
- Sub-minute server-side execution for rea...
Hey — I'm building a real-time auction app on Appwrite Cloud and running into a timing limitation I'd please love some clarity on. My use case: when a bidding ...
- Media Pending Files stuck in "Pending" s...
I am a paid member. Region: fra (Frankfurt) Project ID: 66916217002fceb5f94a Bucket ID: 66916727001f0f578e3b Stuck File IDs: screen-20250623-135815.mp4 (and oth...