Giter Site home page Giter Site logo

magic-coder / react-native-file-transfer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from remobile/react-native-file-transfer

0.0 3.0 0.0 61 KB

A file-transfer for react-native, code come from cordova, support for android and ios

License: MIT License

Java 49.66% JavaScript 10.23% Objective-C 40.11%

react-native-file-transfer's Introduction

React Native FileTransfer (remobile)

A file-transfer for react-native, code come from cordova, support for android and ios

Installation

npm install @remobile/react-native-file-transfer --save

Installation (iOS)

  • Drag RCTFileTransfer.xcodeproj to your project on Xcode.
  • Click on your main project file (the one that represents the .xcodeproj) select Build Phases and drag libRCTFileTransfer.a from the Products folder inside the RCTFileTransfer.xcodeproj.
  • Look for Header Search Paths and make sure it contains $(SRCROOT)/../../../react-native/React as recursive.

Installation (Android)

...
include ':react-native-file-transfer'
project(':react-native-file-transfer').projectDir = new File(settingsDir, '../node_modules/@remobile/react-native-file-transfer/android')
  • In android/app/build.gradle
...
dependencies {
    ...
    compile project(':react-native-file-transfer')
}
  • register module (in MainApplication.java)
......
import com.remobile.filetransfer.RCTFileTransferPackage;  // <--- import

......

@Override
protected List<ReactPackage> getPackages() {
   ......
   new RCTFileTransferPackage(),            // <------ add here
   ......
}

Usage

Example

var React = require('react');
var ReactNative = require('react-native');
var {
    StyleSheet,
    NativeAppEventEmitter,
    View,
    Text,
} = ReactNative;

var FileTransfer = require('@remobile/react-native-file-transfer');
var Button = require('@remobile/react-native-simple-button');

module.exports = React.createClass({
    testUpload() {
        var fileURL = app.isandroid?'file:///sdcard/data/1.jpg':'file:///Users/fang/node/test/post.js';
        var options = {};
        options.fileKey = 'file';
        options.fileName = fileURL.substr(fileURL.lastIndexOf('/')+1);
        options.mimeType = 'text/plain';

        var params = {};
        params.value1 = 'test';
        params.value2 = 'param';

        options.params = params;
        var fileTransfer = new FileTransfer();
        fileTransfer.onprogress = (progress) => console.log(progress);


        fileTransfer.upload(fileURL, encodeURI('http://192.168.1.119:3000/upload'),(result)=>{
            console.log(result);
        }, (error)=>{
            console.log(error);
        }, options);
    },
    testDownload() {
        var fileTransfer = new FileTransfer();
          var uri = encodeURI("http://192.168.1.119:3000/Framework7.zip");
          fileTransfer.onprogress = (progress) => console.log("1",progress.loaded+'/'+progress.total);
          fileTransfer.download(
              uri,
              app.isandroid?'/sdcard/data/xx.html':'/Users/fang/oldwork/client/server/xx.zip',
              function(result) {
                  console.log(result);
              },
              function(error) {
                  console.log(error);
              },
              true
          );
    },
    render() {
        return (
            <View style={styles.container}>
                <Button onPress={this.testUpload}>
                    Test Upload
                </Button>
                <Button onPress={this.testDownload}>
                    Test Download
                </Button>
            </View>
        );
    },
});


var styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'space-around',
        alignItems: 'center',
        backgroundColor: 'transparent',
        paddingVertical:200,
    }
});

HELP

thanks

see detail use

react-native-file-transfer's People

Contributors

sky42550564 avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.