поврежденный файл PDF при записи байтов в поток - PullRequest
0 голосов
/ 29 сентября 2018

Возникла проблема при внедрении службы java-ws для загрузки файла pdf из другого веб-сервиса.Ниже приведен фрагмент кода для same.decode (), поскольку веб-служба (этот код Java вызывается) отвечает зашифрованным двоичным кодом base-64.Я мог видеть, что PDF загружен в заданном месте, но когда я открываю с помощью программы чтения PDF, он говорит, что файл поврежден.Не могли бы вы помочь мне?

public DownloadFileResponse DownloadResponseMapper(Header header, DownloadDocumentResponseType response){
        DownloadFileResponse result = new DownloadFileResponse();
        result.setHeader(header);
        Status status = new Status();
        status.setStatusCode(String.valueOf(String.valueOf(response.getStatus().getStatusCode())));
        status.setStatusMessage(response.getStatus().getMessage());
        result.setStatus(status);
        if(String.valueOf(String.valueOf(String.valueOf(response.getStatus().getStatusCode()))) != "0") {
            String qNameFile = FileExchange.getProperty("fileSystem.sharedLocation") + "/" + "result.pdf";
            try {
                byte[] fileContent = FileUtil.decode(response.getFile());
                System.out.println(response.getFile());
                FileUtil.writeByteArraysToFile(qNameFile, fileContent);
            } catch (Exception e) {
                _logger.info(e.getStackTrace());
            }
            // calculate the hash of the file using two algorithm SHA-256/SHA-512
            List<FileHashType> hashes = FileUtil.calculateHash(result.getFile());
            result.setFileHash(hashes);
        }
        return result;
    }


public static void writeByteArraysToFile(String fileName, byte[] content) throws IOException {
        File file = new File(fileName);
        BufferedOutputStream writer = new BufferedOutputStream(new FileOutputStream(file));
        writer.write(content);
        writer.flush();
        writer.close();

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...