mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-07-15 04:43:36 +00:00
fix(file-manager): chunked uploads fail with 'Expected multipart/form-data request' (#1020)
* chore: fix release workflow to merge docs branch
* fix: svg donation generator push fail
* fix: svg donation generator push fail
* Update termix.rb
* fix: svg donation generator push fail
* chore: move donation badge to badges branch to avoid ruleset conflicts
* chore: remove unneeded token from donation badge workflow
* chore: debug donation badge commit step
* fix: escape < character in donation SVG
* fix: point donation badge to badges branch
* chore: remove unused donation badge svg from main
* Add Rack Genius logo to README
Added Rack Genius logo to the README.
* chore: improve donation goal svg generator to include stablecoins
* chore: donation goal generator syntax error
* chore: donation goal generator incorrect docs url usage
* fix(file-manager): use postForm for chunked uploads so multipart content-type is sent
The fileManagerApi axios instance defaults to Content-Type:
application/json. Axios 1.x's default transformRequest converts a
FormData body to JSON whenever the request content type is
application/json, so every chunk POSTed to /ssh/uploadFileChunk
arrived as a JSON body like {"chunk":{}} and the backend rejected
it with 400 'Expected multipart/form-data request'. This breaks all
uploads of files larger than the 1.5 GiB chunking threshold.
The non-chunked path already uses postForm for /ssh/uploadFileStream;
use it for the chunk path too so axios keeps the FormData intact and
the browser sets the multipart boundary.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: LukeGus <bugattiguy527@gmail.com>
Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -410,7 +410,7 @@ export async function uploadSSHFile(
|
|||||||
form.append("totalSize", String(file.size));
|
form.append("totalSize", String(file.size));
|
||||||
form.append("chunk", chunkBlob, fileName);
|
form.append("chunk", chunkBlob, fileName);
|
||||||
|
|
||||||
const response = await fileManagerApi.post(
|
const response = await fileManagerApi.postForm(
|
||||||
"/ssh/uploadFileChunk",
|
"/ssh/uploadFileChunk",
|
||||||
form,
|
form,
|
||||||
{ timeout: 0 },
|
{ timeout: 0 },
|
||||||
|
|||||||
Reference in New Issue
Block a user