
I had some strange issues with the appwrite self-hosted one. I'm using the node-appwrite npm package to create the file.
But getting error AppwriteException: The uploaded file is invalid. Please check the file and try again.
Strangely, it is created in storage with the correct format, and I can download and use it. This exception caused my angular app not to work properly.
I need help understanding what is happening.
This is payload i got
code: 403
message: "The uploaded file is invalid. Please check the file and try again."
type: "storage_invalid_file"
version: "1.5.10"
Im not sure why its 403 rather than 400, but my Key is good everything else is working and even thou its creating file on server but still returns error.
NOTE: everything is working, except only when I createFile from Nodejs SDK and it creates the file perfect but throw this exception.

Updated :
I think i found the issue but still cannot understand why this happening:
<input type=file />any file uploaded via above tag works awesome no errors.
but when i convert the canvas to file that only where it givng erorr, but also upload the file with correct format.
` dataURLToFile ( dataURL: string, filename: string ): File { var blobBin = atob( dataURL.split( ',' )[ 1 ] ); var array = []; for ( var i = 0; i < blobBin.length; i++ ) { array.push( blobBin.charCodeAt( i ) ); } var file = new Blob( [ new Uint8Array( array ) ], { type: 'image/png' } );
return new File( [ file ], filename, { type: 'image/png' } );
} `
above is the method im using to convert
Recommended threads
- ENV vars not updating
When i do `nano .env` it shows `_APP_DOMAIN_TARGET=` as set to my domain, but when i do `docker compose exec appwrite vars` it shows `_APP_DOMAIN_TARGET=` as ...
- Looking for Partner
I'm looking for partner for long-term collaborating. Of course, I'll pay for you. If you are interested, Please DM me.
- Index with the requested key already exi...
I'm using appwrite cli to create DB and I'm getting index_already_exists Is there a way to undestand the index name and maybe to skip if it's already exits?
