npmパッケージclarifai
を使用してClarifai APIにアクセスしています。私はgetTagsByImageBytes
機能を使用する必要がありますが、私はこの答えを得る:Clarifai APIのデコード中にbase64(nodejs)
{「STATUS_CODE」:「ALL_ERROR」、「のStatus_msg」:「。要求のすべての画像は、画像あたりのエラーメッセージを確認してください失敗しました」 "status_code": "CLIENT_ERROR"、 "status_msg": "データ読み込みに失敗しました。詳細は結果を参照してください。"、 "local_id"、 "meta":{}、 "results":[{"docid":2.0371991595148082e + 38、 "status_code" : ""、 "result":{"エラー": "データが壊れているか、データ型がサポートされていないため、データ0は有効ではありません。"}、 "docid_str": "99430754f1cd37d149b992bc635f685f"}]}
画像のエンコードに問題があります。
const fs = require('fs');
let path = 'path/to/any/image';
let buffers = [];
let bytes;
// creating a reading stream
const readable = fs.createReadStream(path);
// the read content is added to the buffer array
readable.on('data', (chunk) => {
buffers.push(chunk);
});
// all the data read are joined in a single buffer
readable.on('end',() => {
bytes = Buffer.from(buffers.join(), 'binary').toString('base64');
// here the goal is to have a valid base64 encoded image
console.log(bytes);
});
私も失敗しJSON.stringify
を送信しようとしていると.toString
:ここで私は(path
がローカル私のイメージへのパスとbytes
私はClarifaiに送信する変数である)、これまでそれを取得しようとする方法でありますバージョン。私は期待されたバイト配列の私の理解の中で何かを逃したと思う、誰かが私を助けるのですか?
ありがとうございました!
更新:上記のコードとエラーメッセージを変更して、最後の試行を更新しました。
私は専門家ではありませんが、問題を再現するのに十分な情報を提供していないようです。もしそうなら、可能ならばこれを "修正"してください。 – YakovL
ありがとうございました。私はコードを編集しました。単に.jsファイルに貼り付け、ノードを使って起動します。 :) – nakurai