gpt4 book ai didi

java - 多部分/表单数据表单提交

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

在 IE9 中,当我向 java servlet 提交带有文件的表单(enc-type:multipart/form-data)时,出现了问题。我很难找到错误并找到解决方案。当它不工作时,Content-Length 为 0。这是请求 header 中的唯一区别。并且请求消息没有任何区别。

我如何尝试在 java serlvet 中检索表单数据(使用 org.apache.commons):

ServletFileUpload upload = new ServletFileUpload();
if (!ServletFileUpload.isMultipartContent(request)
throw new Exception("Invalid parameters");
FileItemIterator itr = upload.getItemIterator(request);
while(itr.hasNext()
{
// This never gets run when the error occurs (Content-Length: 0)..
}

我认为表单提交有问题?有谁知道可能出了什么问题吗?在 Chrome 中它总是有效。

更新:html 表单的基本部分:

<form name='uploadparticipants' action='ParticipantUploader' method='post' encoding='multipart/form-data' enctype='multipart/form-data' target='upload_target' onsubmit='admin.uploadCourseParticipants()'>
// Some input fields inside a table, among them a file input //
<input type='submit' value='somevalue'>
</form>

最佳答案

  1. 请确保您在表单创建过程中明确添加了 method="post"
  2. 此外,当使用 Javascript 在 Internet Explorer(6 和 7)中动态创建表单时,由于某种原因,您还需要设置编码属性。因此,虽然该属性称为 enctype,但设置 enctype 不会执行任何操作。请尝试添加以下代码:

    form.setAttribute('编码', 'multipart/form-data');

关于java - 多部分/表单数据表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15478962/

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