i'm creating a form that requires image upload but it's throwing an error "TypeError: Cannot read properties of null (reading 'files')"....
This is my code.... function ImageUpload({ files, setFile }) { const { useState } = React;
const [message, setMessage] = useState(); const handleFile = (e) => { setMessage(""); let file = e.target.files;
for (let i = 0; i < file.length; i++) {
const fileType = file[i]["type"];
const validImageTypes = ["image/gif", "image/jpeg", "image/png"];
if (validImageTypes.includes(fileType)) {
setFile([...files, file[i]]);
} else {
setMessage("only images accepted");
}
}
};
const removeImage = (i) => { setFile(files.filter((x) => x.name !== i)); };
const client = new Client() .setEndpoint(String(process.env.NEXT_PUBLIC_APPWRITE_URL)) .setProject(String(process.env.NEXT_PUBLIC_ENDPOINT)); const storage = new Storage(client);
const promise = storage.createFile( (String(process.env.NEXT_PUBLIC_BUCKET_ID),file), ID.unique(), document.getElementById("uploader").files[0] );
promise.then(function (response) { console.log(response); // Success }, function (error) { console.log(error); // Failure });
return (
please help
Btw, it's best to use 3 back ticks with multi-line code. See https://www.markdownguide.org/extended-syntax/#syntax-highlighting
What's the full stack trace? I'm not sure if the error is on the Appwrite side. It might be your code before Appwrite
Recommended threads
- Error 400: redirect_uri_mismatch
Hi team, Google OAuth was working fine with our Appwrite Cloud setup until yesterday. We did not change any configuration in Appwrite, Google Cloud, or our cod...
- Bulk delete failed with 401
- I created a transaction to bulk delete rows in a table has `done` equal `true` follow documentation. But when run, it returns 401 unauthorized error as screen...
- getFileViewURL isnt working on android
i trid the adding the jwt token to the end of the url still nothing. but it works fine on ios https://fra.cloud.appwrite.io/v1/storage/buckets/693a0xxxxxxxxf2d...
