java - 从 HttpServletRequest 解析二进制数据

标签 java servlets

检索发布到 Java Servlet 的二进制数据的一般方法是什么?一个 byte[] 被发布到这个 servlet,我想我必须以某种方式解析 HttpServletRequest.getInputStream() 并提取 byte[] 内容。关于如何更改以下代码来实现此目的有什么想法吗?

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        StringBuilder stringBuilder = new StringBuilder();
        BufferedReader bufferedReader = null;
        try {
          InputStream inputStream = request.getInputStream();
          if (inputStream != null) {
           bufferedReader = new BufferedReader(new InputStreamReader(
        inputStream));
           char[] charBuffer = new char[128];
           int bytesRead = -1;
           while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
            stringBuilder.append(charBuffer, 0, bytesRead);
           }
          } else {
           stringBuilder.append("");
          }
        } catch (IOException ex) {
          throw ex;
        } finally {
          if (bufferedReader != null) {
           try {
            bufferedReader.close();
           } catch (IOException ex) {
            throw ex;
           }
          }
        }
        String body = stringBuilder.toString();
        System.out.println(body);
}

最佳答案

不要将输入流包装在任何“Reader”中,因为它们从字节转换为字符,而您需要字节。

关于java - 从 HttpServletRequest 解析二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9270630/

相关文章:

java - 相机停止移动一段时间后更新谷歌地图

java - 如何在 java webapp 中的服务器上保存和检索图像

java - 如何获取文件夹的内容并将其传递到 Java 服务器页面

javascript - 如何修复浏览按钮的初始 uri

java - 如何在java中包含另一个页面中的一个页面?

java - 将 servlet 链接到 jsp。

java - Mapstruct java.util.Stack 转换

java - 如何在java中使用正则表达式从多个文本文件中读取数据?

java - "unable to locate Spring NamespaceHandler"错误

java - JSP 中的 Jar 文件未正确加载