diff --git a/iotclient/bild_mit_metadaten.jpg b/iotclient/bild_mit_metadaten.jpg new file mode 100644 index 0000000..469f40a Binary files /dev/null and b/iotclient/bild_mit_metadaten.jpg differ diff --git a/iotclient/bild_ohne_metadaten.jpg b/iotclient/bild_ohne_metadaten.jpg new file mode 100644 index 0000000..d06177a Binary files /dev/null and b/iotclient/bild_ohne_metadaten.jpg differ diff --git a/iotclient/bild_ohne_metadaten2.jpg b/iotclient/bild_ohne_metadaten2.jpg new file mode 100644 index 0000000..985607d Binary files /dev/null and b/iotclient/bild_ohne_metadaten2.jpg differ diff --git a/iotclient/client.py b/iotclient/client.py new file mode 100644 index 0000000..09d5658 --- /dev/null +++ b/iotclient/client.py @@ -0,0 +1,78 @@ +from tkinter import * +from PIL import ImageTk,Image +from PIL.ExifTags import TAGS +import io +import dropbox +import base64 +import requests +import json + + +def print_response(response): + print("Code: " + str(response.status_code) + "; Body: " + str(response.json())) + +def show_image(pil_image): + root = Tk() + canvas = Canvas(root, width = pil_image.size[0], height = pil_image.size[1]) + canvas.pack() + img = ImageTk.PhotoImage(pil_image) + canvas.create_image(20, 20, anchor=NW, image=img) + root.mainloop() + +def print_metadata(pil_image): + exifdata = pil_image.getexif() + print("found " + str(len(exifdata)) + " metadata tags") + for tag_id in exifdata: + # get the tag name, instead of human unreadable tag id + tag = TAGS.get(tag_id, tag_id) + data = exifdata.get(tag_id) + # decode bytes + if isinstance(data, bytes): + data = data.decode() + print(f"{tag:25}: {data}") + + + + + +#path = "bild_mit_metadaten" + ".jpg" +path = "bild_ohne_metadaten2" + ".jpg" +im = Image.open(path) + +#show_image(im) +#print_metadata(im) + + + +global b64_file + +with open(path, "rb") as image_file: + b64_file = base64.b64encode(image_file.read()) + + + +payload = b64_file.decode('utf-8') + +#Bild lokal encoden (spiel Server zum testen) +#encoded_bytes = payload.encode('utf-8') +#decoded_file = base64.b64decode(encoded_bytes) +#img2 = Image.open(io.BytesIO(decoded_file)) +#show_image(img2) +#print_metadata(img2) + +#dbx = dropbox.Dropbox('SDt1aqMQg7EAAAAAAAAAARV4CNnOSTjYLc05W2YAxIArG93DnaK9Si9VbwE-aBbQ') +#dbx.files_upload(decoded_file,'/Apps/AIC Federated Storage Infrastructure/test_image_1.jpg') + + + +baseurl = "http://127.0.0.1:8000/image/post" +session = requests.Session() + +body = { + 'filename': 'image.jpg', + 'metadata': 'nix', + 'image_data': payload +} + +response = session.post(baseurl, json=body) +print_response(response) \ No newline at end of file diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00b5f6bb-2bff-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00b5f6bb-2bff-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..3867fb8 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00b5f6bb-2bff-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00b5f6c3-2bff-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00b5f6c3-2bff-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..a174ab1 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00b5f6c3-2bff-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00b5f6ca-2bff-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00b5f6ca-2bff-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..6a56321 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00b5f6ca-2bff-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb6b-2bf7-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb6b-2bf7-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..8528c94 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb6b-2bf7-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb6e-2bf7-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb6e-2bf7-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..d0e0abd Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb6e-2bf7-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb71-2bf7-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb71-2bf7-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..a50f546 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb71-2bf7-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb72-2bf7-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb72-2bf7-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..128aa5b Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb72-2bf7-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb7b-2bf7-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb7b-2bf7-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..0053b46 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb7b-2bf7-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb7f-2bf7-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb7f-2bf7-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..387be8e Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb7f-2bf7-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb80-2bf7-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb80-2bf7-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..370f959 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00b6eb80-2bf7-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00b75c53-2bf9-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00b75c53-2bf9-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..95c5389 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00b75c53-2bf9-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00b75c5f-2bf9-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00b75c5f-2bf9-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..20425a2 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00b75c5f-2bf9-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00c08d4f-2c03-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00c08d4f-2c03-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..c314823 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00c08d4f-2c03-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00c08d53-2c03-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00c08d53-2c03-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..3351161 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00c08d53-2c03-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00c5133e-2c07-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00c5133e-2c07-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..d1d1f42 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00c5133e-2c07-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00c71879-2c13-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00c71879-2c13-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..4587637 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00c71879-2c13-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00c7187b-2c13-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00c7187b-2c13-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..d7b8202 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00c7187b-2c13-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00c71880-2c13-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00c71880-2c13-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..d439bca Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00c71880-2c13-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00c71881-2c13-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00c71881-2c13-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..2602d65 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00c71881-2c13-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00c71884-2c13-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00c71884-2c13-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..0c0ba15 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00c71884-2c13-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00c8d669-2c17-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00c8d669-2c17-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..3a67411 Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00c8d669-2c17-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00c98218-2c1f-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00c98218-2c1f-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..39d596b Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00c98218-2c1f-11e9-bcad-06f10d5896c4.jpg differ diff --git a/iotclient/iwildcam_synthesized_idaho_samplesize/00c9821a-2c1f-11e9-bcad-06f10d5896c4.jpg b/iotclient/iwildcam_synthesized_idaho_samplesize/00c9821a-2c1f-11e9-bcad-06f10d5896c4.jpg new file mode 100644 index 0000000..9e307dd Binary files /dev/null and b/iotclient/iwildcam_synthesized_idaho_samplesize/00c9821a-2c1f-11e9-bcad-06f10d5896c4.jpg differ diff --git a/logfile b/logfile new file mode 100644 index 0000000..e69de29 diff --git a/middleware/app_be/settings.py b/middleware/app_be/settings.py index fed9add..486eea7 100644 --- a/middleware/app_be/settings.py +++ b/middleware/app_be/settings.py @@ -219,4 +219,4 @@ LOGGING = { # increase the maximum upload size of files DATA_UPLOAD_MAX_MEMORY_SIZE = 104857600 -DROPBOX_OAUTH2_ACCESS_TOKEN = 'sl.AmBKKaIkaH0ZKuk5i60EbN8dIspDugFK2k4ixfMkr3BZ7ZJ0yF5YAj-69mWKO-G_K-ctk_Ai4a6BeOXEZ_kZH4waUUlPhnV3QBe4QfGYN5PQcs-9SwQ5BWQfeQSKw9jkybbV9mjOdQ4' \ No newline at end of file +DROPBOX_OAUTH2_ACCESS_TOKEN = 'SDt1aqMQg7EAAAAAAAAAARV4CNnOSTjYLc05W2YAxIArG93DnaK9Si9VbwE-aBbQ' \ No newline at end of file diff --git a/middleware/app_be/views/rest_api.py b/middleware/app_be/views/rest_api.py index 2436213..4e38ab2 100644 --- a/middleware/app_be/views/rest_api.py +++ b/middleware/app_be/views/rest_api.py @@ -37,7 +37,11 @@ class ImageEndpoint: @api_view(['POST']) def image_api_post(request: HttpRequest): logger.debug('Image POST call: {}'.format(request)) - data = json.loads(request.body.decode('utf-8')) + payload = json.loads(request.body.decode('utf-8')) + b64encoded_image = payload['image_data'] + filename = payload['filename'] + metadata = payload['metadata'] + decoded_image = base64.b64decode(b64encoded_image) dbx = dropbox.Dropbox(settings.DROPBOX_OAUTH2_ACCESS_TOKEN) - dbx.files_upload(base64.b64decode(data['image_data']),'/Apps/AIC Federated Storage Infrastructure/test_image_1.jpg') - return JsonResponse({'Result': 'success2', 'received file': data['filename']}, safe=False) + dbx.files_upload(decoded_image,'/Apps/AIC Federated Storage Infrastructure/' + filename) + return JsonResponse({'Result': 'success2', 'received file': filename, 'metadata': metadata}, safe=False) diff --git a/middleware/setup.py b/middleware/setup.py index ef1189d..6aafea2 100644 --- a/middleware/setup.py +++ b/middleware/setup.py @@ -19,7 +19,6 @@ setup( 'whitenoise==5.2.0', 'Pillow==8.0.1', 'dropbox==10.10.0' - ], license='BSD License', # example license description='DESCRIPTION'