Da ich Code, der alle Anlagen in der Post decodiert:PDF-Anhänge werden nach Datei-Decodierung beschädigt
for (String key : attachments.keySet()) { String fileContent = attachments.get(key); attachments.put(key, getEncodedPartFromAttachment(fileContent)); }
private String decodeFileContent(String encodedData) { return new String(Base64.getDecoder().decode(encodedData)); }
Nach der Codierung und Decodierung zurück, ich einige Probleme konfrontiert, wie:
Original-PDF:% âÏÏÓ
Transformierte PDF:%
Original PDF: H ‰ d; 1D2' ° l'Χ ¥ ¡¢ @ ²Ü¿À † xo & Ò> iG ~ € Epo ·
Transformed PDF: Hd; 1D 2' l'Χ @ ܿ X & қ G ~ p
Gibt es eine Möglichkeit, den Inhalt beim Codieren-Decodieren nicht zu beschädigen?
PDF-Dateien sind Binärdateien. Sie erzwingen die Binärdaten in einen String: 'new String (...)'. Dies schadet den binären PDF-Daten, abhängig von der verwendeten Codierung, sogar über die Reparatur hinaus. Handle binäre Anhänge stattdessen als Binärdateien, z. als 'byte []' oder als 'ByteBuffer'. – mkl