android中如何上传图片到FTP服务器

android中如何上传图片到FTP服务器,第1张

android客户端实现FTP文件需要用到 commons-net-301jar
先将jar包复制到android libs目录下
复制以下实现代码
以下为实现代码:
/
通过ftp上传文件
@param url ftp服务器地址 如:
@param port 端口如 :
@param username 登录名
@param password 密码
@param remotePath 上到ftp服务器的磁盘路径
@param fileNamePath 要上传的文件路径
@param fileName 要上传的文件名
@return
/
public String ftpUpload(String url, String port, String username,String password, String remotePath, String fileNamePath,String fileName) {
FTPClient ftpClient = new FTPClient();
FileInputStream fis = null;
String returnMessage = "0";
try {
ftpClientconnect(url, IntegerparseInt(port));
boolean loginResult = ftpClientlogin(username, password);
int returnCode = ftpClientgetReplyCode();
if (loginResult && FTPReplyisPositiveCompletion(returnCode)) {// 如果登录成功
ftpClientmakeDirectory(remotePath);
// 设置上传目录
ftpClientchangeWorkingDirectory(remotePath);
ftpClientsetBufferSize(1024);
ftpClientsetControlEncoding("UTF-8");
ftpCliententerLocalPassiveMode();
fis = new FileInputStream(fileNamePath + fileName);
ftpClientstoreFile(fileName, fis);

returnMessage = "1"; //上传成功
} else {// 如果登录失败
returnMessage = "0";
}
} catch (IOException e) {
eprintStackTrace();
throw new RuntimeException("FTP客户端出错!", e);
} finally {
//IOUtilscloseQuietly(fis);
try {
ftpClientdisconnect();
} catch (IOException e) {
eprintStackTrace();
throw new RuntimeException("关闭FTP连接发生异常!", e);
}
}
return returnMessage;
}

实现两个android手机之间文件访问,有蓝牙传输,WIFI direct这2种不需要上网
云盘(小米网盘,金山快盘,u115等)使用方便但是要连internet

这个有几个不同情况:手机安装ftp客户端,AndFTP是android设备上的一款FTP/SFTP/FTPS客户端软件,可以实现和电脑一样的文件传输方式,直接连接你的空间即可传输。手机没有客户端软件,可以采用中间方式,使用网页传输,叫做webftp工具,就是利用网页数据传输的方式,打开webftp网站,输入空间的FTP信息连接即可传输文件。注意一点,使用webftp需要在空间后台先设置允许连接的IP地址,使空间服务器允许webftp连接并向其传输文件。

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(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于>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是一种文件传输下载方式,它是TCP/IP协议栈的一部分;其中FTP又由两部分组成,一部分是FTP的服务器,另一部分是FTP的客户端!它能够高效安全地进行文件传输下载 *** 作!可以使用服务器管理工具来作为FTP的客户端,进行FTP的 *** 作,实现FTP的下载安装等!

IIS7服务管理器,它最优秀的功能就是可以批量管理,适用于Windows系统,Linux系统和VPS服务器等,能极大的提高站长及服务器运维人员工作效率。

同时iis7服务器管理工具还是vnc客户端,服务器真正实现了一站式管理,可谓是非常方便。ftp下载工具是一个免费开源的FTP客户端软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。它还可以管理各系统服务器(win系统和linux)除此之外,还可以管理vnc,可谓非常强大,关键是免费的!

在众多好用实用的功能当中,最大的亮点还是属定时上传下载的强大功能了,它可以定时备份,自动更新等,大家都在用,还等什么呢~

这个有2个办法:一个是手机做服务器,一个是电脑做服务器
1、在电脑上安装个SERVU做FTP服务器,然后手机上下载个FTP客户端,这样可以在手机上 *** 作,这个方法不是很好,需要在电脑和手机上都安装软件,而且是手机 *** 作复制删除这些功能,不太方便的,但也可以实现
2、手机上安装每步FTP服务,当然也可以安装别的FTP服务,不过这个每步FTP服务有个特点是我在别的FTP上没有发现的,就是它可以实现开机自启动并运行在后台,这个很重要,因为我们不需要每次都去人工 *** 作下,另外,电脑上不需要安装任何软件,直接打开资源管理器地址栏输入 ftp://1921681101:2121这样的地址就可以 *** 作了,这个复制粘贴删除等 *** 作是在电脑上 *** 作,更加方便


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10522208.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存