[ReactNative] Allow uploading native files (e.g. photos) and FormData via XMLHttpRequest

This commit is contained in:
Nick Lockwood
2015-06-09 12:25:24 -07:00
parent f590a8b15b
commit f4bf80f3ea
13 changed files with 513 additions and 138 deletions

View File

@@ -11,6 +11,7 @@
*/
'use strict';
var FormData = require('FormData');
var RCTDataManager = require('NativeModules').DataManager;
var RCTDeviceEventEmitter = require('RCTDeviceEventEmitter');
@@ -82,13 +83,19 @@ class XMLHttpRequest extends XMLHttpRequestBase {
}
sendImpl(method: ?string, url: ?string, headers: Object, data: any): void {
if (typeof data === 'string') {
data = {string: data};
}
if (data instanceof FormData) {
data = {formData: data.getParts()};
}
RCTDataManager.queryData(
'http',
{
method: method,
url: url,
data: data,
headers: headers,
method,
url,
data,
headers,
},
this.onreadystatechange ? true : false,
this._didCreateRequest.bind(this)