You've already forked immich
							
							
				mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-31 00:18:28 +02:00 
			
		
		
		
	docs: python upload guide (#4867)
This commit is contained in:
		
							
								
								
									
										42
									
								
								docs/docs/guides/python-file-upload.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								docs/docs/guides/python-file-upload.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| # Python File Upload | ||||
|  | ||||
| ```python | ||||
| #!/usr/bin/python3 | ||||
|  | ||||
| import requests | ||||
| import os | ||||
| from datetime import datetime | ||||
|  | ||||
| API_KEY = 'YOUR_API_KEY'                # replace with a valid api key | ||||
| BASE_URL = 'http://127.0.0.1:2283/api'  # replace as needed | ||||
|  | ||||
|  | ||||
| def upload(file): | ||||
|     stats = os.stat(file) | ||||
|  | ||||
|     headers = { | ||||
|         'Accept': 'application/json', | ||||
|         'x-api-key': API_KEY | ||||
|     } | ||||
|  | ||||
|     data = { | ||||
|         'deviceAssetId': f'{file}-{stats.st_mtime}', | ||||
|         'deviceId': 'python', | ||||
|         'fileCreatedAt': datetime.fromtimestamp(stats.st_mtime), | ||||
|         'fileModifiedAt': datetime.fromtimestamp(stats.st_mtime), | ||||
|         'isFavorite': 'false', | ||||
|     } | ||||
|  | ||||
|     files = { | ||||
|         'assetData': open(file, 'rb') | ||||
|     } | ||||
|  | ||||
|     response = requests.post( | ||||
|         f'{BASE_URL}/asset/upload', headers=headers, data=data, files=files) | ||||
|  | ||||
|     print(response.json()) | ||||
|     # {'id': 'ef96f635-61c7-4639-9e60-61a11c4bbfba', 'duplicate': False} | ||||
|  | ||||
|  | ||||
| upload('./test.jpg') | ||||
| ``` | ||||
		Reference in New Issue
	
	Block a user