传输问题:FTP上载后FPO JPG图像已损坏

传输问题:FTP上载后FPO JPG图像已损坏,ftp,apache-mina,Ftp,Apache Mina,我们最近发现,使用Mina core 2.0.9和ftp服务器core 1.0.9传输特定图像文件时出现了一些问题。上传FPO文件(lowres OPI文件类型)后,该文件在FTP服务器上被截断,我们无法再打开它。其他图像文件(如标准JPEG)也可以。我们假设根本原因可能是这些FPO文件在实际二进制数据之前以明文元数据部分开始,因此FPT传输可能以不同方式执行(见下文)。问题可能与ASCII与二进制传输模式有关 这可能是原因吗?是否有其他人对此文件类型有类似问题?有没有办法告诉FTP服务器只使用

我们最近发现,使用Mina core 2.0.9和ftp服务器core 1.0.9传输特定图像文件时出现了一些问题。上传FPO文件(lowres OPI文件类型)后,该文件在FTP服务器上被截断,我们无法再打开它。其他图像文件(如标准JPEG)也可以。我们假设根本原因可能是这些FPO文件在实际二进制数据之前以明文元数据部分开始,因此FPT传输可能以不同方式执行(见下文)。问题可能与ASCII与二进制传输模式有关

这可能是原因吗?是否有其他人对此文件类型有类似问题?有没有办法告诉FTP服务器只使用二进制模式,或者更好地为特定文件类型设置传输?我们已经尝试使用FileZilla和FTP命令行工具显式设置二进制模式,但没有任何效果

%!PS-Adobe-3.0 EPSF-3.0
%%Creator: FullPress
%%BoundingBox: 0 0 480 480
%%HiResBoundingBox: 0 0 480.0000 480.0000
%%DocumentProcessColors: Cyan Magenta Yellow Black
%%EndComments
%ImageData: 480 480 8 4 0 1 6 "exec"
%BeginPhotoshop: 14
% 3842494D040A0000000000010000
%EndPhotoshop
[...]
%%BeginBinary:     255562
exec
s4IA>!"M;*Ddm8XA,lT0!!*&R!(-_f!<E3%!<N9&!<N<(!WiK,!WiE)"U"r1"9o#6
"pP58"pP;=#R1M?#6kA<$O@%G$47+I"pbSF$OR:K$47.?^]5&S!T4":"@Eb$9b@A.
&HGH9!<9t;*rl9A"T\W)!<E3$z!!!!"!WrQ/"pYD?$4HmP!4<@<!W`B*!X&T/"U"r.
!!.KK!WrE*&Hrdj0gQ!W;.0\RE>10ZOeE%*6F"?A;UOtZ1LbBV#mqFa(`=5<-7:2j
.Ps"@2`NfY6UX@47n?3D;cHat='/U/@q9._B4u!oF*)PJGBeCZK7nr5LPUeEP*;,q
QC!u,R\HRQV5C/hWN*81['d?O\@K2f_o0O6a2lBFdaQ^rf%8R-
%!PS-Adobe-3.0 EPSF-3.0
%%创建者:FullPress
%%边界框:0 0 480 480
%%雇佣边界框:0 0 480.0000 480.0000
%%文档处理颜色:青色-洋红色-黄色-黑色
%%尾注
%图像数据:480 480 8 4 0 1 6“exec”
%BeginPhotoshop:14
%3842494D0040000000000000
%EndPhotoshop
[...]
%%出生日期:255562
执行官

s4IA>!“M;*Ddm8XA,lT0!!*&R!(-u f!我建议在进行FTP传输时,始终压缩文件(即使这意味着您将文件存储而不是压缩在压缩容器中)。这非常有价值,因为在目标位置解压缩时,解压缩工具会让您知道传输过程中是否有东西损坏


如果传输解压成功且没有错误,则可以消除传输过程,并将注意力集中在使用文件的环境上。

“这可能是明文导致的吗?"-使用的是什么传输模式,我确信可以从客户端或服务器日志中获得?首先,我们使用ASCII模式,这是默认模式。但是,后来切换到二进制传输模式,问题仍然是一样的。我想知道,Apache FTP服务器是否试图变得聪明,并在运行时以某种方式覆盖客户端设置的二进制模式它检测到纯文本部分。为防止进一步说明这一点,Photoshop中的错误消息如下:“无法完成您的请求,因为JPEG标记段长度太短(文件可能被截断或不完整)。”(下载上传的文件后;奇怪的是,这两个文件在字节级别上是相同的!)您总是可以使用diff工具查看原始文件和传输的文件之间的差异。@CodeMaster这是令人费解的事情:diff工具显示这两个文件之间没有任何差异(尝试使用DiffMerge和dhex)。