소스 검색

Upload image from browser cache.

Signed-off-by: Lapo Luchini <lapo@lapo.it>
local-upload
Lapo Luchini 4 년 전
부모
커밋
4549bc4f67
1개의 변경된 파일30개의 추가작업 그리고 13개의 파일을 삭제
  1. +30
    -13
      pinry-spa/src/components/pin_edit/FileUpload.vue

+ 30
- 13
pinry-spa/src/components/pin_edit/FileUpload.vue 파일 보기

@@ -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>


불러오는 중...
취소
저장