cloudinary_npm icon indicating copy to clipboard operation
cloudinary_npm copied to clipboard

Visual search file upload

Open cloudinary-pkoniu opened this issue 2 years ago • 0 comments

Brief Summary of Changes

  • new feature: visual search using file upload:
cloudinary.v2.api.visual_search({image_file: 'path/to/file'}, function (error, result) {
    console.log(result);
});

or

cloudinary.v2.api.visual_search({image_file: Buffer.from('abc')}, function (error, result) {
    console.log(result);
});

What Does This PR Address?

  • [ ] GitHub issue (Add reference - #XX)
  • [ ] Refactoring
  • [X] New feature
  • [ ] Bug fix
  • [ ] Adds more tests

Are Tests Included?

  • [X] Yes
  • [ ] No

Reviewer, Please Note:

I added the requests dependency because writing an http request with multi-part file upload using vanilla node is a complicated task and to be honest, I failed at that. I tried writing it from scratch and also reusing some components from the upload.js file but the way this sdk is designed does not allow reusing some of the functions there. At least not in an easy way that won't potentially mean a broken contract. Eventually, I'd prefer doing all http requests using an external library rather than avoiding adding it in the first place - to me, the cost of maintaining low level code is much higher than adding this single dependency.

cloudinary-pkoniu avatar Oct 17 '23 10:10 cloudinary-pkoniu