Generate cropped avatar image in the original file type

This commit is contained in:
taehoon 2019-03-04 21:22:32 -05:00
parent 3e4d465eba
commit ff9e55ae42
2 changed files with 6 additions and 6 deletions

View file

@ -67,7 +67,7 @@ const ImageCropper = {
submit () { submit () {
this.submitting = true this.submitting = true
this.avatarUploadError = null this.avatarUploadError = null
this.submitHandler(this.cropper, this.filename) this.submitHandler(this.cropper, this.file)
.then(() => this.destroy()) .then(() => this.destroy())
.catch((err) => { .catch((err) => {
this.submitError = err this.submitError = err
@ -88,14 +88,14 @@ const ImageCropper = {
readFile () { readFile () {
const fileInput = this.$refs.input const fileInput = this.$refs.input
if (fileInput.files != null && fileInput.files[0] != null) { if (fileInput.files != null && fileInput.files[0] != null) {
this.file = fileInput.files[0]
let reader = new window.FileReader() let reader = new window.FileReader()
reader.onload = (e) => { reader.onload = (e) => {
this.dataUrl = e.target.result this.dataUrl = e.target.result
this.$emit('open') this.$emit('open')
} }
reader.readAsDataURL(fileInput.files[0]) reader.readAsDataURL(this.file)
this.filename = fileInput.files[0].name || 'unknown' this.$emit('changed', this.file, reader)
this.$emit('changed', fileInput.files[0], reader)
} }
}, },
clearError () { clearError () {

View file

@ -157,8 +157,8 @@ const UserSettings = {
} }
reader.readAsDataURL(file) reader.readAsDataURL(file)
}, },
submitAvatar (cropper) { submitAvatar (cropper, file) {
const img = cropper.getCroppedCanvas().toDataURL('image/jpeg') const img = cropper.getCroppedCanvas().toDataURL(file.type)
return this.$store.state.api.backendInteractor.updateAvatar({ params: { img } }).then((user) => { return this.$store.state.api.backendInteractor.updateAvatar({ params: { img } }).then((user) => {
if (!user.error) { if (!user.error) {
this.$store.commit('addNewUsers', [user]) this.$store.commit('addNewUsers', [user])