从用户上传的图像创建链接的最佳方法是什么?

问题描述

我正在尝试创建一个使用IBM Watson Visual Recognition进行废物分类的应用程序。 Watson在后端(节点js)中运行,我想在Vue中开发应用程序。

Watson需要指向图像的链接,我当时在考虑使用Firebase在用户上传图像时创建链接

我的问题是:“考虑到图像及其结果对于用户而言应该是唯一的,而不必持久化,是否有更好的方法呢?”

我对视觉识别了解不多,但对Firebase的了解却很少。因此,如果有办法更好地处理问题,请说。谢谢!

解决方法

根据API文档,您可以提交要分类为url或readstream的图像。 https://cloud.ibm.com/apidocs/visual-recognition/visual-recognition-v3?code=node#classify

API文档中提供的示例使用readstream:


const fs = require('fs');
const VisualRecognitionV3 = require('ibm-watson/visual-recognition/v3');
const { IamAuthenticator } = require('ibm-watson/auth');

const visualRecognition = new VisualRecognitionV3({
  version: '2018-03-19',authenticator: new IamAuthenticator({
    apikey: '{apikey}',}),serviceUrl: '{url}',});

const classifyParams = {
  imagesFile: fs.createReadStream('./fruitbowl.jpg'),owners: ['me'],threshold: 0.6,};

visualRecognition.classify(classifyParams)
  .then(response => {
    const classifiedImages = response.result;
    console.log(JSON.stringify(classifiedImages,null,2));
  })
  .catch(err => {
    console.log('error:',err);
  });

,

我最终要做的是将图像上传到Firebase存储,将链接发送到服务器,获取结果,然后从Firebase中删除图像。