You can try something like this. This worked for me:
// File api.js
'use strict';
import request from 'superagent';
import {NativeModules} from 'react-native';
var api = (method, URL) => {
var r = request(method, apiURL);
return r;
}
api.uploadPhoto = (fileName, fileUri, uri, callback) => {
var upload = {
uri: fileUri,
uploadUrl:
fileName: fileName,
mimeType: 'image/jpeg',
headers: {},
data: {}
};
NativeModules.FileTransfer.upload(upload, (err, res) => {
console.log(err, res);
if (err || res.status !== 200) {
return callback(err || res.data || 'UNKNOWN NETWORK ERROR');
}
callback();
});
};
export default api;
// you can then call your action this way
'use strict';
import request from './api';
request.uploadPhoto('picture', uri, apiURL, (err) => {
if (err) {
console.log(err);
return;
}
});
source
share