如何使用React Native将文件上传到FTP服务器上?

时间:2019-01-04 07:08:52

标签: reactjs react-native ftp ftp-client ftp-server

实际上,我想使用React-native将具有目录结构的文件上传到FTP服务器上。

我试图找到库,但是没有找到任何与之相关的东西。

那么您能帮我解决这个问题吗?

import React, { Component } from 'react';
import { StyleSheet, View, Button } from 'react-native';
import FTP from 'react-native-ftp';

export default class App extends Component {
  onButtonpress() {
     FTP.setup("IP", 21) //Setup host
     FTP.login("username", "password").then(
     (result) => {
        FTP.list(".").then(
          (result) => {
            console.log(result);
        }
      );
    },
   (error) => {
    alert(error);
   }
  )
}
render() {
  return (
    <View >
      <Button onPress={this.onButtonpress.bind(this)} title="hi" />
    </View>
  );
 }
}

这是我尝试过的示例,但是在输入“ react-native-ftp”时出现错误。 我收到错误消息“找不到模块'react-native-ftp'的声明”。

1 个答案:

答案 0 :(得分:1)

您遇到的错误是由于react-native-ftp函数在ios上不可用-未实现。您需要分叉存储库并实现它们以与ios一起使用。

然后:
您可以使用react-native-ftp下载以下文件:

FTP.downloadFile("./nameOfFileToBeDownloaded","localPathWhereItWillBeSaved")
    .then(result=>console.log(result))
    .catch(error=>alert(error))

或使用uploadFile上传

FTP.uploadFile("./nameOfFileToBeUploaded","remotePathWhereItWillBeSaved")
    .then(result=>console.log(result))
    .catch(error=>alert(error))

如果您想要整个文件夹,则可以先使用react-native-zip-archive将其压缩,然后仅上传zip。