文件在FTPClient中无法正确保存在ftp上

时间:2015-01-14 06:12:45

标签: java upload ftp-client

我使用FTPClient在ftp服务器上上传文件。首先,我有一个TempFile对象(无论这个对象是什么),它有一个getBytes()方法。此方法返回字节列表:

List<Byte> byteList = tempFile.getBytes();
Byte[] byteObjects= new Byte[byteList.size()];
byte[] byteArray = new byte[byteList.size()];
byteObjects = byteList.toArray(byteObjects);
byteArray = ArrayUtils.toPrimitive(byteObjects);
InputStream stream = new ByteArrayInputStream(byteArray);
ftpClient.storeFile(file.getName()+"."+file.getExtension(), stream);

执行最后一行代码后,文件成功创建了预期名称,但是当我想打开该文件时,我看到&#34;图片test.jpg无法显示,因为它包含错误&#34 ;在浏览器中。有什么问题?

1 个答案:

答案 0 :(得分:3)

听起来你需要将你的ftp客户端设置为二进制传输

ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

根据文档

  

如果当前文件类型为ASCII,则文件中的行分隔符将透明地转换为NETASCII格式