Dreampie/Resty

用表单上传文件,multipart/form-data,中文字段正常,用Client操作则为乱码

zhubo opened this issue · 2 comments

zhubo commented

用表单上传文件,加上<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
表单上传中文可正常显示。

<form action="http://localhost:8080/restcenter/api/finger" method="post" enctype="multipart/form-data">
文件:<input type="file" name="f"><br />
中文:<input type="text" name="s" value="中文测试"><br />
<input type="submit" value="Submit" />
</form>

如果用Client,则显示为乱码

    @Test
    public void testPost3() throws FileNotFoundException {
        Client client = new Client(apiUrl);
        ClientRequest crequest = new ClientRequest("/finger");
        crequest.addUploadFile("f", "C:/Users/zhubo/Pictures/002.jpg");
        crequest.addParam("s", "中文测试");
        ClientResult cresult = client.build(crequest).post();
        System.out.println(cresult.getResult());
    }

1.2.0-SNAPSHOT 我在本地测试没有问题,查看一下版本好 ,或者从源码install试试

zhubo commented

找到原因了,测试类源码文件的编码不是UTF-8,所以发送的汉字是GBK编码的。
修改测试文件源码的编码格式就好了。