繁体   English   中英

通过PhoneGap进行FTP

[英]FTP via PhoneGap

我想使用PhoneGap开发FTP文件系统。

本质上,我希望用户能够拥有一个可以连接到的站点列表,并获得用于查看和更改文件名的整个根目录。

我可以使用C#和.NET语言来完成此过程,但对使用PhoneGap来实现此目的一无所知。

我可以使用特定的图书馆吗? 我需要从头开始开发一切吗? 是否可以将Native与PhoneGap混合使用? 我将在这里实现什么样的安全性?

如果您能回答其中一个或所有这些问题,将不胜感激!

在android中实现所需功能的一种非常简单的方法是使用本机Java代码并使用Apache FTPClient类

有一个非常好的易于阅读插件这里 您可以获取它,并了解它的工作原理。 基本上,它使用FTP客户端类,并且具有两个内置方法来Upload文件和从服务器Download文件。

扩展Execute方法以执行其他操作(如RenameDelete再次非常容易:

Java代码:

public boolean execute (...) { 

       ...
       if (action.equals("get")) {
            get(filename, url);
        }
        else if (action.equals("put")) {
            put(filename, url);
        }
        else if (action.equals("delete")){
           delete(filename,url);
        } else if (action.equals("rename")){
           rename(filename,url);
        }
        ...
 } 

private void delete(String filename, URL url) throws IOException {
    FTPClient f = setup(url);
    f.deleteFile(extractFileName(url));
    teardown(f);
}

private void rename(String newFilename, URL url) throws IOException {
        FTPClient f = setup(url);    
        f.rename(extractFileName(url),newFilename);
        buffOut.flush();
        buffOut.close();
        teardown(f);
    }

并在javascript层上也添加这些方法

FtpClient.prototype.delete = function(url, successCallback, errorCallback) {
         return exec(successCallback, errorCallback, "FtpClient", "get", [" ", url]);
    };
   FtpClient.prototype.rename = function(newFilename, url, successCallback, errorCallback) {
         return exec(successCallback, errorCallback, "FtpClient", "get", [newFilename, url]);
    };

如果您需要有关如何使用phonegap插件的说明, 此处有一个很好的指南。 基本上,您需要执行以下操作:

  • 编写您的Java代码
  • 编写您的JavaScript代码,并使用exec方法调用本机层
  • 将您的插件添加到res / xml / config

专门针对我上面发布的插件,在github自述文件中,您可以看到有关如何安装该插件的说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM