react-native-s3 v0.0.29
React Native AWS S3
A React Native wrapper for AWS iOS/Android S3 SDK.
We currently implements TransferUtility, it allow you to upload / download tasks in the background, very suitable for transferring large files, you can freely subscribe / unsubscribe, pause / resume / cancel the task.
See iOS/Android docs for more information.
Known issues
- Currently reload js will lead TransferUtility not work. (#9)
Installation
$ npm install react-native-s3 --saveSetup
iOS
NOTE Only supported iOS ^8.0.
In XCode, in the project navigator:
- Right click
Libraries➜Add Files to [your project's name], Addnode_modules/react-native-s3/ios/RNS3.xcodeproj. - Add
libRNS3.ato your project'sBuild Phases➜Link Binary With Libraries - Add
$(SRCROOT)/../node_modules/react-native-s3/iostoHeader Search Paths, and mark it asrecursive. - Add
$(SRCROOT)/../node_modules/react-native-s3/ios/Frameworksto your project'sBuild Settings➜Framework Search Paths - Add
node_modules/react-native-s3/ios/Frameworks/*.frameworkto your project'sGeneral➜Embedded Binaries - Edit
AppDelegate.mof your project
#import "RNS3TransferUtility.h"
......
- (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)())completionHandler {
[RNS3TransferUtility interceptApplication:application
handleEventsForBackgroundURLSession:identifier
completionHandler:completionHandler];
}- Optional you can set the credentials in
AppDelegate.m
#import "RNS3TransferUtility.h"
......
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[RNS3TransferUtility nativeCredentialsOptions] setObject:@"eu-west-1" forKey:@"region"];
[[RNS3TransferUtility nativeCredentialsOptions] setObject:[NSNumber numberWithInt:[RNS3TransferUtility credentialType:@"BASIC"]] forKey:@"type"];
[[RNS3TransferUtility nativeCredentialsOptions] setObject:@"your_access_key_here" forKey:@"access_key"];
[[RNS3TransferUtility nativeCredentialsOptions] setObject:@"your_secret_key_here" forKey:@"secret_key"];
......
}Android
- Edit
android/settings.gradleof your project:
...
include ':react-native-s3'
project(':react-native-s3').projectDir = new File(settingsDir, '../node_modules/react-native-s3/android')- Edit
android/app/build.gradleof your project:
...
dependencies {
...
compile project(':react-native-s3')
}- Add package to
MainApplication.java
......
import com.mybigday.rns3.*; // import
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
......
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new RNS3Package(), // add package
);
}
};
......
}You can use rnpm instead of above steps.
- Edit
android/app/src/main/AndroidManifest.xmlof your project:
<service
android:name="com.amazonaws.mobileconnectors.s3.transferutility.TransferService"
android:enabled="true" />- Optional you can set the credentials in
MainActivity.java:
import android.os.Bundle;
import com.mybigday.rns3.RNS3TransferUtility;
public class MainActivity extends ReactActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RNS3TransferUtility.nativeCredentialsOptions.put("region", "eu-west-1");
RNS3TransferUtility.nativeCredentialsOptions.put("type", RNS3TransferUtility.CredentialType.BASIC);
RNS3TransferUtility.nativeCredentialsOptions.put("access_key", "your_access_key_here");
RNS3TransferUtility.nativeCredentialsOptions.put("secret_key", "your_secret_key_here");
}
......
}The nativeCredentialsOptions type
BASICCOGNITO
Usage
import { transferUtility } from 'react-native-s3';See API.md for more information.
Alternatives
- react-native-aws3 - if you don't need the native library provided background upload/download task features.
License
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago