Upload image from browser cache.

Signed-off-by: Lapo Luchini <lapo@lapo.it>
This commit is contained in:
Lapo Luchini
2020-07-02 23:37:08 +02:00
parent a93510f4a5
commit 4549bc4f67

View File

@@ -49,19 +49,11 @@ export default {
},
watch: {
dropFile(newFile) {
this.$emit('imageUploadProcessing');
this.loading = true;
API.Pin.uploadImage(newFile).then(
(resp) => {
this.uploadedImage = resp.data;
this.loading = false;
this.$emit('imageUploadSucceed', this.uploadedImage.id);
},
() => {
this.loading = false;
this.$emit('imageUploadFailed');
},
);
this.uploadFile(newFile);
},
previewImageURL() {
if (!this.previewExists()) return;
this.uploadURL(this.previewImageURL);
},
},
computed: {
@@ -79,6 +71,31 @@ export default {
previewExists() {
return this.previewImageURL !== null && this.previewImageURL !== '';
},
uploadFile(newFile) {
this.$emit('imageUploadProcessing');
this.loading = true;
API.Pin.uploadImage(newFile).then(
(resp) => {
this.uploadedImage = resp.data;
this.loading = false;
this.$emit('imageUploadSucceed', this.uploadedImage.id);
},
() => {
this.loading = false;
this.$emit('imageUploadFailed');
},
);
},
uploadURL(url) {
const filename = new URL(url).pathname.split('/').pop();
fetch(url).then(r => r.blob()).then((blob) => {
this.uploadFile(new File([blob], filename));
});
},
},
mounted() {
if (!this.previewExists()) return;
this.uploadURL(this.previewImageURL);
},
};
</script>