mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
fix(cli): upload large file (#5242)
* fix(cli): upload large file * fix: use known configuration * chore: version bump * chore: fix repo url * fix conflict --------- Co-authored-by: Jonathan Jogenfors <jonathan@jogenfors.se>
This commit is contained in:
parent
8ff4a08a2c
commit
c8aa782fef
2 changed files with 39 additions and 6 deletions
|
|
@ -6,6 +6,8 @@ import { CrawlOptionsDto } from '../cores/dto/crawl-options-dto';
|
|||
import cliProgress from 'cli-progress';
|
||||
import byteSize from 'byte-size';
|
||||
import { BaseCommand } from '../cli/base-command';
|
||||
import axios, { AxiosRequestConfig } from 'axios';
|
||||
import FormData from 'form-data';
|
||||
|
||||
export default class Upload extends BaseCommand {
|
||||
uploadLength!: number;
|
||||
|
|
@ -75,7 +77,8 @@ export default class Upload extends BaseCommand {
|
|||
|
||||
if (!skipUpload) {
|
||||
if (!options.dryRun) {
|
||||
const res = await this.immichApi.assetApi.uploadFile(asset.getUploadFileRequest());
|
||||
const formData = asset.getUploadFormData();
|
||||
const res = await this.uploadAsset(formData);
|
||||
|
||||
if (options.album && asset.albumName) {
|
||||
let album = existingAlbums.find((album) => album.albumName === asset.albumName);
|
||||
|
|
@ -134,4 +137,24 @@ export default class Upload extends BaseCommand {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async uploadAsset(data: FormData): Promise<axios.AxiosResponse> {
|
||||
const url = this.immichApi.apiConfiguration.instanceUrl + '/asset/upload';
|
||||
|
||||
const config: AxiosRequestConfig = {
|
||||
method: 'post',
|
||||
maxRedirects: 0,
|
||||
url,
|
||||
headers: {
|
||||
'x-api-key': this.immichApi.apiConfiguration.apiKey,
|
||||
...data.getHeaders(),
|
||||
},
|
||||
maxContentLength: Infinity,
|
||||
maxBodyLength: Infinity,
|
||||
data,
|
||||
};
|
||||
|
||||
const res = await axios(config);
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue