【发布时间】:2015-03-12 06:37:06
【问题描述】:
我正在使用 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);
执行最后一行代码后,成功创建了一个具有预期名称的文件,但是当我想打开该文件时,我在浏览器中看到“图像 test.jpg 无法显示,因为它包含错误”。有什么问题?
【问题讨论】:
-
请添加更多代码。
ftpClient是什么对象@你怎么创建的... -
以ASCII方式上传Jpeg图像文件等二进制文件时会出现这种错误。您的“ftpClient.storeFile”是否根据要传输的文件内容设置模式 BINARY/ASCII。
-
为什么,为什么,哦,你为什么要将字节转换为
Byte[],然后又转换回byte[]?
标签: java upload ftp-client