I
Immich5mo ago
Sonorc

API - Upload a picture - uploadAsset

Hello, the current uploadAsset doesn't work? I want to upload an image via node js and I always get an error message. I feel like I have recreated and tested the API key 100 times. (/user-settings -> API key) https://immich.app/docs/api/upload-asset/
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
let data = new FormData();

data.append('assetData', fs.createReadStream('H:\\Git\\bilder\\Neu\\backend\\uploads\\1351335.png'));
data.append('deviceAssetId', 'assetTest');
data.append('deviceId', 'deviceTest');
data.append('fileCreatedAt', '2024-12-27T11:02:39');
data.append('fileModifiedAt', '2024-12-27T11:02:39');


let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'http://127.0.0.1:8980/api/assets?key=z8vuYdyn3loVPP8DhBx6S0Zh2aKiU3T8CzVoT7jDZIs',
headers: {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
...data.getHeaders()
},
data : data
};


axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
let data = new FormData();

data.append('assetData', fs.createReadStream('H:\\Git\\bilder\\Neu\\backend\\uploads\\1351335.png'));
data.append('deviceAssetId', 'assetTest');
data.append('deviceId', 'deviceTest');
data.append('fileCreatedAt', '2024-12-27T11:02:39');
data.append('fileModifiedAt', '2024-12-27T11:02:39');


let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'http://127.0.0.1:8980/api/assets?key=z8vuYdyn3loVPP8DhBx6S0Zh2aKiU3T8CzVoT7jDZIs',
headers: {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
...data.getHeaders()
},
data : data
};


axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
data: { message: 'Invalid share key', error: 'Unauthorized', statusCode: 401, correlationId: '0ikytt67' }
10 Replies
Immich
Immich5mo ago
:wave: Hey @Sonorc, Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:. References - Container Logs: docker compose logs docs - Container Status: docker ps -a docs - Reverse Proxy: https://immich.app/docs/administration/reverse-proxy - Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA Checklist I have... 1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time). 2. :ballot_box_with_check: read applicable release notes. 3. :ballot_box_with_check: reviewed the FAQs for known issues. 4. :ballot_box_with_check: reviewed Github for known issues. 5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy). 6. :ballot_box_with_check: uploaded the relevant information (see below). 7. :blue_square: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable (an item can be marked as "complete" by reacting with the appropriate number) Information In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider: - Your docker-compose.yml and .env files. - Logs from all the containers and their status (see above). - All the troubleshooting steps you've tried so far. - Any recent changes you've made to Immich or your system. - Details about your system (both software/OS and hardware). - Details about your storage (filesystems, type of disks, output of commands like fdisk -l and df -h). - The version of the Immich server, mobile app, and other relevant pieces. - Any other information that you think might be relevant. Please paste files and logs with proper code formatting, and especially avoid blurry screenshots. Without the right information we can't work out what the problem is. Help us help you ;) If this ticket can be closed you can use the /close command, and re-open it later if needed. Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
bo0tzz
bo0tzz5mo ago
You can't pass an api key like that
Sonorc
SonorcOP5mo ago
how else should I do it? I just took it from the docs from immich.
bo0tzz
bo0tzz5mo ago
From which docs page?
bo0tzz
bo0tzz5mo ago
key is an available query param on that endpoint for share keys, yes. But you can't put an API key in there
Sonorc
SonorcOP5mo ago
Okay, because my idea was to save photos that I take with my camera on a Raspberry Pi, for example, and then sync them with me as soon as the Raspberry Pi has internet.
bo0tzz
bo0tzz5mo ago
You can just use the CLI for that, no?
Sonorc
SonorcOP5mo ago
OK, I'll try to implement it with CLI. I just came across upload asset via the search engine. Thanks
bo0tzz
bo0tzz5mo ago
It is possible to use that endpoint to be clear. Just not with ?key=apikey

Did you find this page helpful?