我使用答案
here尝试使用数据上传发出POST请求,但我从服务器端有不寻常的要求.服务器是一个PHP脚本,需要Content-Disposition行上的文件名,因为它需要上传文件.
Content-Disposition: form-data; name="file"; filename="-"
但是,在客户端,我想发布一个内存缓冲区(在这种情况下是一个String)而不是一个文件,但让服务器处理它就好像它是一个文件上传.
但是,使用StringBody我无法在Content-Disposition行添加所需的文件名字段.因此,我尝试使用FormBodyPart,但这只是将文件名放在一个单独的行上.
HttpPost httppost = new HttpPost(url);
MultipartEntity entity = new MultipartEntity();
ContentBody body = new StringBody(data,
org.apache.http.entity.ContentType.APPLICATION_OCTET_STREAM);
FormBodyPart fbp = new FormBodyPart("file", body);
fbp.addField("filename", "-");
entity.addPart(fbp);
httppost.setEntity(entity);
如何在没有先将我的String写入文件然后再将其读回来的情况下,将文件名放入Content-Disposition行?