'Invalid document structure: Attribute "chunksTotal" has invalid type'
- 0
- Self Hosted
- Storage
- REST API
Hello, I am trying to upload a file to the Appwrite storage using the REST API. But I always get following error:
Error uploading file chunk: {
message: 'Invalid document structure: Attribute "chunksTotal" has invalid type. Value must be a valid range between 0 and 2,147,483,647',
code: 400,
type: 'document_invalid_structure',
version: '1.6.0'
}
Isn't the chunksTotal attribute set by Appwrite? I can't find anything about setting chunksTotal in the docs. I tried to append it to the formData but it also didn't help.
I am using following code:
const filePath = "./example.png";
const CHUNK_SIZE = 5 * 1024 * 1024; // 5MB
const fileStats = await fs.stat(filePath);
const fileSize = fileStats.size;
const fileName = path.basename(filePath)
let start = 0;
let end = Math.min(CHUNK_SIZE, fileSize - 1);
let fileId = null;
while (start < fileSize) {
const chunk = createReadStream(filePath, { start, end });
const formData = new FormData();
if (fileId) {
formData.append("fileId", fileId);
} else {
formData.append("fileId", "unique()");
}
formData.append("file", chunk, fileName);
formData.append("permissions[]", 'read("any")');
const headers = {
...formData.getHeaders(),
"Content-Range": `bytes ${start}-${end}/${fileSize}`,
"X-Appwrite-Project": "<project ID>",
"X-Appwrite-ID": fileId,
};
const response = await axios.post(
`<api endpoint>/v1/storage/buckets/<bucket id>/files/`,
formData,
{
headers: headers
}
);
if (!fileId) {
fileId = response.data.$id;
}
start = end + 1;
end = Math.min(start + CHUNK_SIZE - 1, fileSize - 1);
}
console.log("File upload completed!");
May I ask why not use the SDK?
I described it here: https://discord.com/channels/564160730845151244/1293858476229001249
Recommended threads
- Server Error when uploading base64 encod...
I have a nextjs application, where I want to upload files to appwrite storage. Files are base64 encoded. I am using: Server sdk: "node-appwrite": "^14.1.0", A...
- Can the cloud functions work with files ...
what i have is an excel file and i want to search into it with query to a specific value. excel files doesn't provide permissions on it's rows and other data. ...
- user management by admins
Hey I have a question, how should I create an Admin page in flutter where the "admin" users can create/update/block users from appwrite? I used a dart function ...