【问题标题】:Convert api httpresponse bytearray to file [closed]将api httpresponse bytearray转换为文件[关闭]
【发布时间】:2017-09-05 04:37:31
【问题描述】:

我正在使用 JAVA 中的 C# webapi。 API 方法返回一个文件字节数组。我可以在 java 中读取字节数组响应,但是当我尝试将其转换为文件时,它会将完整的字符串写入文件中。

下面是我正在使用的代码:

HttpResponse response=...
byte[] content = EntityUtils.toByteArray(response.getEntity());
File fileToWriteTo = new File("abc.docx");
FileUtils.writeByteArrayToFile(fileToWriteTo, content);

下面是生成文件的截图: DOCX file screenshot

下面是提琴手响应截图: Fiddler response screenshot

【问题讨论】:

    标签: java arrays file asp.net-web-api httpresponse


    【解决方案1】:

    内容类型:application/json

    您的 C# API 发送的此内容/类型有点可疑。

    如果这个端点应该返回一个字节数组,你应该收到类似的东西:

    内容类型:应用程序/八位字节流

    所以这里发生的情况是您的字节数组作为 JSON 字符串发送(注意到字节周围的引号?),然后由您的 Java 程序作为文本文件写入。

    最好的办法是修复 C# 端点以发送正确的内容类型。

    但是如果你无权访问它,你可以尝试解析JSON String,将字节字符串解码为字节数组,然后写入文件。

    【讨论】:

    • 感谢您的回复。你的建议对我有用。
    猜你喜欢
    • 2010-10-28
    • 2018-07-13
    • 2014-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    相关资源
    最近更新 更多