上传图片到FTP服务器,报500错误

上传图片到FTP服务器,报500错误,第1张

考虑到只有500问题,没有给出具体错误信息,给出以下几个可能的原因,可以配合服务器端查一下:

图片大小问题,试试图片尺寸是否有问题。

图片格式问题。

服务器端超级超时。

500一般是服务器处理内部处理错误排除的异常。

这是因为你所用网络IP地址的服务器设置不同造成的。

解决办法:1、点击FTP进入图片上传页面;

2、左键点击站点管理器,属性里的类型进行修改;

3、数据连接类型由使用全局设置改为使用PORT,或由使用PORT改为全局设置;

4、确定保存就行了,与防火墙无关。

android客户端实现FTP文件需要用到 commons-net-3.0.1.jar

先将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 {

ftpClient.connect(url, Integer.parseInt(port))

boolean loginResult = ftpClient.login(username, password)

int returnCode = ftpClient.getReplyCode()

if (loginResult &&FTPReply.isPositiveCompletion(returnCode)) {// 如果登录成功

ftpClient.makeDirectory(remotePath)

// 设置上传目录

ftpClient.changeWorkingDirectory(remotePath)

ftpClient.setBufferSize(1024)

ftpClient.setControlEncoding("UTF-8")

ftpClient.enterLocalPassiveMode()

fis = new FileInputStream(fileNamePath + fileName)

ftpClient.storeFile(fileName, fis)

returnMessage = "1" //上传成功

} else {// 如果登录失败

returnMessage = "0"

}

} catch (IOException e) {

e.printStackTrace()

throw new RuntimeException("FTP客户端出错!", e)

} finally {

//IOUtils.closeQuietly(fis)

try {

ftpClient.disconnect()

} catch (IOException e) {

e.printStackTrace()

throw new RuntimeException("关闭FTP连接发生异常!", e)

}

}

return returnMessage

}


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/102176.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存