Android开发访问FTP服务器
commons-netjar里面有ftp相关的接口,这个是我自己封装的一个类
import javaioFileInputStream;
import javaioIOException;
import javanetSocket;
import javautilArrayList;
import javautilList;
import orgapachecommonsnetftpFTP;
import orgapachecommonsnetftpFTPClient;
import orgapachecommonsnetftpFTPReply;
import androidappActivity;
import androidcontentContext;
import androidcontentSharedPreferences;
public class FTPUtils {
/
通过ftp上传文件
@param fileNamePath
要上传的文件路径 , 以'结'尾
@param fileName
要上传的文件名
@return 如果成功返回"" , 否则返回错误结果
/
public static String ftpUpload(String sdcardFullFileName, String fileName, String ftpPath) {
FTPClient ftpClient = new FTPClient();
FileInputStream fis = null;
String returnMessage = "";
try {
ftpClientconnect(ConnectConfigftpIP, ConnectConfigftpPort);
boolean loginResult = ftpClientlogin(ConnectConfigftpUserName, ConnectConfigftpPassWord);
int returnCode = ftpClientgetReplyCode();
if (loginResult && FTPReplyisPositiveCompletion(returnCode)) {// 如果登录成功
String[] splits = ftpPathsplit("/");
String temps = splits[0];
ftpClientmakeDirectory(temps);
for(int i=1;i<splitslength;i++){
temps += "/" + splits[i];
ftpClientmakeDirectory(temps);
}
// ftpClientmakeDirectory(ftpPath);
// 设置上传目录
ftpClientchangeWorkingDirectory(ftpPath);
ftpClientsetBufferSize(1024);
ftpClientsetControlEncoding("UTF-8");
ftpClientsetFileType(FTPBINARY_FILE_TYPE);
ftpCliententerLocalPassiveMode();
fis = new FileInputStream(sdcardFullFileName);
// boolean result = ftpClient(fileName, fis);
boolean result = ftpClientstoreFile(fileName, fis);
if(result){
returnMessage = ""; // 上传成功
}else{
returnMessage = "上传失败";
}
} else {// 如果登录失败
returnMessage = "登录FTP时失败,FTP用户名或者密码错误!";
}
} catch (IOException e) {
// ftp发送出现异常
eprintStackTrace();
returnMessage = "FTP客户端出错!" + e;
} finally {
try {
ftpClientdisconnect();
} catch (IOException e) {
eprintStackTrace();
}
}
return returnMessage;
}
}
FTP安卓端能上ios链接失败原因:
1、防火墙挡住了
2、没有查看内容的权限
3、网管屏蔽了FTP端口
默认是pasv模式,因为服务端防火墙的设置,客户端不能用pasv模式,将设置中的pasv模式置为空,就正常了
FTP连接服务器失败的原因一般有以下几种:
1、网络不通导致FTP连接服务器失败
有时可能是由服务器或者电脑本地网络有问题,导致FTP连接服务器失败。可以通过浏览器查看网页测试是否是网络问题。
2、服务器出现宕机、死机、重启等情况
我们在租用服务器时,都会对服务器的访问速度及稳定性进行考察。服务器出现右机、死机、重启等情况不仅会导致FIP连接服务器失败,也直接导致网站无法正常运营,从而影响网站优化排名及用户体验。如果出现此情况,尽快联系服务器提供商进行解决。
3、防火墙设置出现问题导致服务器连接失败查看我们的防火墙设置是否勾选了“PASV模式”,如果勾选,那么将取消,然后尝试重新连接。
4、FTP软件出现问题导致连接服务器失败有时我们会忘记对软件的及时更新,所以导致使用的FTP软件版本过低或者被停用,再或者该软件出现了问题。此时我们可以先删除现有软件,然后重新安装。
5、短时间内连接服务器次数过多
可能由于FTP连接服务器的速度稍微有些慢,我们等待的比较着急,就不停地点击连接按钮,导致短时间内容连接次数过于频繁而连接失败。
6、服务器被ISP屏蔽导致FTP连接服务器失败判断服务器是否被ISP屏蔽,可以通过使用代理服务器进行连接测试。
7、租用的服务器后台被关闭
如果以上几种情况都被排除,那么很有可能是我们所租用的服务器后台被关闭了,此时需要连接服务器提供商进行核查与修改。
FTP连接服务器失败的原因有很多,基本比较常见的情况就是以上几种。为保障网站的正常运营,当出现FTP服务器失败的情况,应及时检查其原因并解决。
_
:
FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
1手机设定-安全-未知来源打钩,重新安装尝试;
2检查手机存储器是否有足够的存储空间;
3检查软件格式是否正确,支持的软件格式为APK;
4使用手机功能表中自带的浏览器上网,直接搜索需要的软件进行下载安装;
5使用电脑下载APK格式的安装包,连接数据线传输至手机,操作手机在应用程序-我的文件中找到安装包,运行后点击安装按钮;
6先下载一个市场类软件,常见的有安卓市场,机锋市场等等,之后使用此款软件下载其他程序,但是可能消耗流量较大,建议您在连接无线网的情况下使用。
下载(Download)是指将文件从FTP服务器拷贝到自己的计算机。访问独立的FTP服务器需使用FTP客户软件,已有许多功能各异的专用FTP客户软件供您选用。而访问内嵌FTP的WWW服务器,只需浏览器就可以。浏览器不仅是WWW客户程序,同时也内嵌有FTP功能,可以作为FTP客户程序,用它可以从FTP服务器下载文件,也可以向FTP服务器上传(upload)文件。
从FTP服务器上下载文件的早期办法是直接用FTP软件(ftpexe)直接访问已知的FTP服务器,并用一套规定的命令获取文件,即命令方式,但这种方法使用不便,已很少有人使用。目前,从Internet上下载文件的方法主要有三种:
(1)直接从网页或FTP站点下载;
(2)用断点续传软件下载;
(3)以电子邮件形式下载。
所谓直接从网页或FTP站点下载,是指用浏览器内嵌的FTP功能进行下载。这种方法不仅速度慢,更怕因断线而前功尽弃。为此断点续传软件应运而生,利用它下载文件,即使遇上断线,先前所下载的那部分仍然有效,只需再从断点续传以获得完整文件,这是当前用户最常用的一类下载方法。以电子邮件形式下载文件可以节约上网时间和费用,但可靠性较差。
正式开始
下载并安装AndroPHP、Feel FTP和File Zilla
安装完成后打开AndroPHP,界面如下:
备注:此处为手机内网IP,意味着你只能用内网设备访问,在以后的博文中会告诉大家如何进行端口映射,从而实现外网也可访问
看到上图两个地址后,其实可以直接点击,使用手机浏览器访问的界面如下:
备注:
1中大家可能看不到wordpress文件夹,别急下一步教你上传。
phpMyAdmin的默认用户名是root或者是你当前手机的ip地址,密码为空(这信息可以在phpinfophp中查看)
接下来,就是教大家如何上传文件到手机,当然前提是你已经在Wordpress上下载好了wordpress安装包(下载很简单的,自己去看看吧)或者你自己已经写好了PHP网页,也可以
两种方法:
1
1
在手机文件管理里,找到根目录下的WWW文件夹,然后用数据线是上传文件到这个文件夹就行了,相当于服务器的根目录
利用Feel FTP(手机端)和File Zilla(电脑端)进行文件传输。这种方法更像是将手机当成服务器啊(本人拙见,其实只要效果一样就行,嘿嘿)
步骤一、打开Feel FTP,点击下方中间按钮,绿色变成红色即为打开,上方也显示出你是否打开了(ps:你可以在设置中关闭无连接是自动退出,不然等会就要打开一次,太麻烦)
步骤二、电脑上打开File Zilla
在主机名处输入Feel FTP上显示的地址。例如我的是:
ftp://1921681121
在端口处填写 :2121,剩下可以都不填写(因为Feel FTPmore不开启用户名和密码),点击快速连接
将你的wordpress文件夹从本地上传到手机根目录/www(从窗口1拖动到窗口2,即可)
至此两种文件上传方法均讲述完毕。
5利用phpMyAdmin创建数据库,修改wordpress中的wp-config-samplephp文件,之后的步骤和正常安装wordpress相同,可参考我之后要写的wordpress安装教程,此处介绍到此为止
成果演示
接下来,放几张演示图
手机上的wordpress展示:
或者自己编写的php文件(此处使用的是官方文档演示)
0条评论