Browse Source

fix: improve image upload validation and handling

- Add URL validation for image URL in backend
- Enhance frontend image upload logic to handle optional file and URL inputs
- Remove debug print statement in send validation
pull/237/head
Aldino Kemal 1 year ago
parent
commit
88f4e68e25
  1. 7
      src/validations/send_validation.go
  2. 12
      src/views/components/SendImage.js

7
src/validations/send_validation.go

@ -45,8 +45,6 @@ func ValidateSendImage(ctx context.Context, request domainSend.ImageRequest) err
"image/png": true,
}
fmt.Println(request.Image.Header.Get("Content-Type"))
if !availableMimes[request.Image.Header.Get("Content-Type")] {
return pkgError.ValidationError("your image is not allowed. please use jpg/jpeg/png")
}
@ -56,6 +54,11 @@ func ValidateSendImage(ctx context.Context, request domainSend.ImageRequest) err
if *request.ImageURL == "" {
return pkgError.ValidationError("ImageURL cannot be empty")
}
err := validation.Validate(*request.ImageURL, is.URL)
if err != nil {
return pkgError.ValidationError("ImageURL must be a valid URL")
}
}
return nil

12
src/views/components/SendImage.js

@ -66,8 +66,16 @@ export default {
payload.append("view_once", this.view_once)
payload.append("compress", this.compress)
payload.append("caption", this.caption)
payload.append('image', $("#file_image")[0].files[0])
payload.append('image_url', this.image_url)
const fileInput = $("#file_image");
if (fileInput.length > 0 && fileInput[0].files.length > 0) {
const file = fileInput[0].files[0];
payload.append('image', file);
}
if (this.image_url) {
payload.append('image_url', this.image_url)
}
let response = await window.http.post(`/send/image`, payload)
this.handleReset();
return response.data.message;

Loading…
Cancel
Save