gpt4 book ai didi

java - 在 Google App Engine 中读取 Java Servlet 输入流时出现问题

转载 作者:行者123 更新时间:2023-12-04 06:14:41 25 4
gpt4 key购买 nike

我正在使用 Google App Engine 构建一些东西,我正在尝试创建一个 java Servlet 来读取原始 POST 数据并用它做一些事情。根据 servlet 文档,这应该可以使用 getReader() 方法或 getInputStream() 方法。然而,似乎不知何故,至少对于在我的开发机器上本地运行的 App Engine 开发服务器,在输入 doPost 方法之前已经调用了 getInputStream()。

我主张这一点的证据如下:

  • getReader 抛出一个 java.lang.IllegalStateException(见 this)
  • getInputStream 返回一个有效的输入流,但对该输入流调用 read() 返回 -1(参见 this )。

  • 我检查过,在调用 getInputStream 之前我没有调用 getParameter()。 getInputStream() 是我在 doPost 方法的主体中调用的第一件事。

    这里有什么问题?

    最佳答案

    按此 link来自谷歌应用引擎问题跟踪器:

    That is because the content type was sent as "application/x-www-form-urlencoded". In that case the stream is read and mapped as key value pair so that you can access the data as req.getParameter("ParameterName") and for the same reason stream is empty. We will be able to access the req.getinputStream() when the content-type is sent as "application/octet-stream".

    关于java - 在 Google App Engine 中读取 Java Servlet 输入流时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7405454/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com