Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Wildfly POST方法多部分/表单数据:“;无法获取边界…”;_Java_Python 3.x_Wildfly_Multipartform Data_Resteasy - Fatal编程技术网

Java Wildfly POST方法多部分/表单数据:“;无法获取边界…”;

Java Wildfly POST方法多部分/表单数据:“;无法获取边界…”;,java,python-3.x,wildfly,multipartform-data,resteasy,Java,Python 3.x,Wildfly,Multipartform Data,Resteasy,我在java中遇到一个post方法问题: @POST @Path("/test") @Produces("application/xml") @Consumes(MediaType.MULTIPART_FORM_DATA) public String testing(MultipartFormDataInput input) { Map<String, List<InputPart>> uploadForm = input.getFormDataMap();

我在java中遇到一个post方法问题:

@POST
@Path("/test")
@Produces("application/xml")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public String testing(MultipartFormDataInput input)
{
    Map<String, List<InputPart>> uploadForm = input.getFormDataMap();
    String name = this.getFormValue(uploadForm, "name");

    List<InputPart> inputParts = uploadForm.get("file");
...
}

问题出在您正在使用的客户端库中:

这一行假设,如果您传递文件,那么它是一个由多个部分组成的请求,没有文件,它会执行其他操作

添加具有不同参数名称的假文件应满足您的服务器端代码:

file\u name=“test.zip”
如果文件名为:
files={“file”:打开(“test.zip”、“rb”)}
其他:
files={“dummy_file”:“nothing”}
url=”http://localhost:8080/test_war/test/test"
r=requests.post(url,数据={“name”:“test”},文件=文件)
打印r.text
打印r.status\U代码

问题出在您正在使用的客户端库中:

这一行假设,如果您传递文件,那么它是一个由多个部分组成的请求,没有文件,它会执行其他操作

添加具有不同参数名称的假文件应满足您的服务器端代码:

file\u name=“test.zip”
如果文件名为:
files={“file”:打开(“test.zip”、“rb”)}
其他:
files={“dummy_file”:“nothing”}
url=”http://localhost:8080/test_war/test/test"
r=requests.post(url,数据={“name”:“test”},文件=文件)
打印r.text
打印r.status\U代码

错误在您的客户端代码中。你能发布吗?添加了客户端代码。现在,我用第二个Post方法解决了我的问题,该方法的@Path相同。错误在您的客户端代码中。你能发布吗?添加了客户端代码。现在,我用第二个Post方法解决了我的问题,方法相同@Path。谢谢你的回答。我只是觉得有点奇怪,如果我手动将内容类型设置为multipart/data form,我也会出现错误。编辑:愚蠢的错误,我用大写字母C写了“内容类型”,谢谢你的回答。我只是觉得有点奇怪,如果我手动将内容类型设置为multipart/data form,我也会出现错误。编辑:愚蠢的错误,我用大写字母C写了“内容类型”
payload = {"name": "test"}
file = {"file": open("test.zip", "rb")}
url = "http://localhost:8080/test_war/test/test"
r = requests.post(url, data=payload, files=file)
print r.text
print r.status_code