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
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
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