0
私はこれを腋窩で解明しようとしています。私はスーパーエージェントとの直接API呼び出しを行いましたが、今ではAxiosでどのように使用するかを知りたいので、残りのプロジェクトはAxiosで行います。私は曇り反応があることを知っていますが、これは私がそれを行うのが好きな方法です。 ここまで私がこれまで持っていたことがあります。どのように枢機卿と曇りに直接API呼び出しを行うには?
import React, { Component } from 'react';
import Dropzone from 'react-dropzone';
import sha1 from 'sha1';
import superagent from 'superagent';
import axios from 'axios';
class Images extends Component {
uploadFile(files) {
console.log('uploadFile: ');
const image = files[0];
const cloudName = 'tbaustin';
const url = `https://api.cloudinary.com/v1_1/${cloudName}/image/upload`;
const timestamp = Date.now()/1000;
const uploadPreset = 'cnh7rzwp';
const paramsStr = `timestamp=${timestamp}&upload_preset=${uploadPreset}secret`;
const signature = sha1(paramsStr);
const params = {
'api_key': 'api_key',
'timestamp': timestamp,
'upload_preset': uploadPreset,
'signature': signature
}
let uploadRequest = superagent.post(url)
uploadRequest.attach('file', image);
Object.keys(params).forEach((key) => {
uploadRequest.field(key, params[key]);
});
uploadRequest.end((err, res) => {
if(err) {
alert(err);
return
}
console.log('UPLOAD COMLETE: '+JSON.stringify(res.body));
});
//AXIOS CONTENT HERE
// let request = axios.post(url, {file: image});
// request.then((response) => {
// Object.keys(params).forEach((key) => {
// uploadRequest.field(key, params[key]);
// });
// console.log('UPLOAD COMPLETE: '+JSON.stringify(response.body));
// }).catch((err) => { alert(err); });
}
render() {
return (
<div>
<Dropzone onDrop={this.uploadFile.bind(this)}/>
</div>
)
}
}
export default Images;
すべてのAPIキーと画像アップロードロジックの第一は、私の場合をserver.Inあなたのバックエンドに常駐している必要があり、それは、ノードjs.Youは、すべてのキーサーバー側を維持し、次にaxios経由でノードサーバを呼び出して、それを伝えますアップロードするファイルとノードは、資産をアップロードするために曇りのあるAPIを呼び出します。 http://cloudinary.com/documentation/node_image_upload#server_side_upload – VivekN
これは正しい方法ではないと私は理解しています。私はちょうど、この作業をするために正しいAxiosコードを作るために熱いことを知りたかったのです。 –
ここでの正しいアプローチは、Axiosを使用してファイルをアップロードするノードapiを呼び出すことです。 これはすべてのフォームデータからなるポストコールです。フォームにファイルまたはテキストフィールドを含めることができます。 – VivekN