Quen non pode abrir un ficheiro subido adoita oír que a VPN o corrompeu. Iso é unha hipótese, non unha observación, e é comprobable. Antes de tocar o túnel, estableza se o obxecto agora almacenado no destino difire do obxecto que debía enviarse. Todo o demais despréndese desa resposta.

Comece polos bytes previstos, non pola queixa

Escolla un ficheiro inofensivo que reproduza o problema, ou o ficheiro real se a política permite que saia do ambiente de orixe. Anote dúas cousas antes da transferencia: o tamaño exacto en bytes e un hash de contido moderno. Os nomes de ficheiro, as marcas de tempo e as vistas previas son metadatos, e ningún deles identifica o contido.

Calcule o hash cun algoritmo que ambos os extremos poidan executar e anote cal usou. Unha comparación entre SHA-256 e MD5 non é unha comparación, e tampouco o é unha comparación entre dous ficheiros distintos que comparten nome por casualidade.

PS> Get-FileHash -LiteralPath "C:\uploads\report.csv" -Algorithm SHA256
Hash                                                        Path
----                                                        ----
9F2C...                                                      C:\uploads\report.csv

A referencia de Get-FileHash de Microsoft documenta o comando e o seu parámetro de algoritmo, xusto a parte que a xente omite cando unha comparación produce unha discrepancia sen sentido.

Un hash por etapa, o mesmo algoritmo

Agora calcule o mesmo algoritmo sobre o obxecto almacenado onde finalmente vive, cun método autorizado e non cunha copia que pasou por outra ferramenta. Gardar o ficheiro recibido localmente e aplicar o hash a esa copia engade un paso que non probou.

Se o servizo expón un valor de integridade propio, tráteo como unha observación separada. A suma de comprobación que informa o provedor pode dicirlle que cre o provedor que almacenou, e non é a mesma afirmación que a do que enviou o seu cliente.

Caben tres resultados, e apuntan en direccións distintas. Hashes iguais significan que os bytes chegaron sen cambios. Hashes distintos cunha conversión coñecida significan que o servizo produciu intencionadamente un obxecto novo. Hashes distintos sen conversión significan que algo entre os dous puntos alterou o contido, e o seguinte paso é atopar a fronteira máis temperá onde ocorreu.

Separe o fallo de transferencia da transformación

Unha subida parcial e unha subida corrupta vense idénticas nun explorador de ficheiros e son fallos distintos. Comprobe se a transferencia se completou: un rexistro da aplicación que mostra unha solicitude abortada, un ficheiro almacenado cuxo tamaño é un prefixo da orixe, ou un obxecto que en realidade é unha páxina de erro gardada coa extensión esperada, todos indican unha transferencia incompleta e non bytes alterados.

A transformación é a outra explicación habitual. Un servizo que recomprime imaxes, reescribe os finais de liña dun CSV ou converte un documento producirá lexitimamente un hash distinto do de orixe, e iso non é corrupción. Compare a etapa que afirma ser a copia fiel, non o formato de presentación final.

O atraso e a perda pertencen a unha terceira categoría. Poden facer que un cliente esgote o tempo, reintente ou desista, e nada diso implica que os bytes aceptados polo servidor se cambiasen en silencio. Mire o resultado da transferencia antes de atribuír nada ao túnel.

Probe unha segunda ruta sen cambialo todo

Se os hashes realmente difiren e non hai conversión de por medio, repita o mesmo ficheiro, cliente, protocolo e destino por outra ruta admitida, como unha rede local en lugar da VPN. Cambie unha variable. Cambiar o cliente, o extremo e a ferramenta á vez dálle un resultado que non pode atribuír.

Manteña a comparación honesta en ambos os sentidos. Un hash dille que dous puntos discrepan ou coinciden sobre o contido; non lle di que lado é fiable, así que manteña o valor esperado e a verificación dentro do modelo de confianza no que realmente confía.

Remate cunha frase concreta no ticket: a transferencia detívose cedo, a aplicación transformou o obxecto, o almacenamento cambiouno, ou os bytes coinciden e lelos é o fallo. Cada unha desas ten un propietario distinto, e ningunha delas é a VPN por defecto.

Artigos relacionados