From 09ba3ac89eb5c2447d35412c73d3bb45d9ef314c Mon Sep 17 00:00:00 2001 From: Gert Hengeveld Date: Thu, 14 Dec 2023 22:55:29 +0100 Subject: [PATCH] Fix multipart upload --- node-src/lib/uploadFiles.ts | 8 +++++--- package.json | 1 + yarn.lock | 9 +++++++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/node-src/lib/uploadFiles.ts b/node-src/lib/uploadFiles.ts index f53004ed6..b0e41e465 100644 --- a/node-src/lib/uploadFiles.ts +++ b/node-src/lib/uploadFiles.ts @@ -1,10 +1,10 @@ import retry from 'async-retry'; +import { filesize } from 'filesize'; +import FormData from 'form-data'; import { createReadStream } from 'fs'; import pLimit from 'p-limit'; import progress from 'progress-stream'; import { Context, FileDesc, TargetInfo } from '../types'; -import { FormData } from 'node-fetch'; -import { filesize } from 'filesize'; export async function uploadFiles( ctx: Context, @@ -38,7 +38,9 @@ export async function uploadFiles( const formData = new FormData(); Object.entries(formFields).forEach(([k, v]) => formData.append(k, v)); - formData.append('file', createReadStream(localPath).pipe(progressStream)); // must be the last one + formData.append('file', createReadStream(localPath).pipe(progressStream), { + knownLength: contentLength, + }); const res = await ctx.http.fetch( formAction, diff --git a/package.json b/package.json index 32adf4c18..fd6e0a206 100644 --- a/package.json +++ b/package.json @@ -149,6 +149,7 @@ "execa": "^7.2.0", "fake-tag": "^2.0.0", "filesize": "^10.1.0", + "form-data": "^4.0.0", "fs-extra": "^10.0.0", "https-proxy-agent": "^7.0.2", "husky": "^7.0.0", diff --git a/yarn.lock b/yarn.lock index f755ce08d..54b6b1dea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7893,6 +7893,15 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + format@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"