Pregunta

Estoy tratando de enviar por FTP algunos archivos DMG de Apple, si lo hacemos a mano a través de Safari o IE, termina en el destino bien y sin corrupción. Sin embargo, si uso un cliente FTP gratuito que habíamos estado usando con gran éxito para archivos zip y exe o si uso un script Powershell que terminé (adaptado de la respuesta de la pregunta de otro flujo de stackover), entonces pierdo aproximadamente 1/2 Mb en un archivo de 10.5 Mb y el dmg está dañado. ¿Alguien tiene alguna pista de lo que podría estar yendo mal? ¿Qué puedo hacer para evitarlo? Hasta ahora todo lo que he intentado es comprimir el dmg antes de enviarlo y eso no logró nada. De nuevo, cualquier cosa menos un dmg se transmite muy bien.

FYI Estoy usando transferencias en modo binario, así que eso no es ... aunque gracias

¿Fue útil?

Solución 3

Solo para que todos lo sepan. Debe haber sido el cliente que estaba usando tenía exactamente el mismo problema que mi script de PowerShell. Estaba usando StreamReader para obtener los bytes para la transferencia y estaba asumiendo una codificación que no era correcta. Cambié a un BinaryReader que no funciona, y ahora funciona.

Otros consejos

Parece que su cliente trata el archivo dmg como un archivo de texto. establezca el modo de transferencia binaria en su cliente ftp y lo hará tal como está.

Siempre pensé que el modo de transferencia ascii en ftp es simplemente estúpido. Causa más problemas de lo que vale.

¿Está seguro de que todo, excepto un DMG, se transfiere correctamente? Parece un problema con la codificación de transferencia. FTP admite tipos de transferencia binarios y ASCII, principalmente debido al equipaje histórico. En los viejos tiempos, cuando el ancho de banda era más aterrador, dejar el bit alto (que ASCII no usa) era un buen ahorro de tiempo. Sin embargo, si tiene bytes con el bit establecido, el modo de transferencia ASCII los perderá, por lo tanto, binario. modo, que no trunca nada.

Normalmente, el comando para cambiar los modos de transferencia es "bin" o "ascii".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top