POST方法上传文件如果要POST文件,客户端在创建HttpPostRequestEncoder的时候传入multipart=true即可:
HttpPostRequestEncoder bodyRequestEncoder =new HttpPostRequestEncoder(factory, request, true);
然后分别调用setBodyHttpDatas和finalizeRequest方法,生成HttpRequest就可以向channel写入了:
// 添加body http databodyRequestEncoder.setBodyHttpDatas(bodylist);// finalize request,判断是否需要chunkrequest = bodyRequestEncoder.finalizeRequest();// 发送请求头channel.write(request);
要注意,如果是transfer-encoding = chunked,那么这个HttpRequest只是请求头的信息,我们还需要手动将HttpContent写入到channel中:
// 判断bodyRequestEncoder是否是Chunked,发送请求内容if (bodyRequestEncoder.isChunked()) {channel.write(bodyRequestEncoder);}
在server端,通过判断InterfaceHttpData的getHttpDataType,如果是FileUpload类型,则说明拿到了上传的文件,则可以通过下面的方法来读取到文件的内容:
FileUpload fileUpload = (FileUpload) data;responseContent.append(fileUpload.getString(fileUpload.getCharset()));
这样我们就可以在服务器端拿到客户端传过来的文件了 。
总结HTTP的文件上传需要考虑的问题比较多,大家有不明白的可以参考我的例子 。或者留言给我一起讨论 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 激活批处理文件的方法 win7激活命令行批处理
- bat脚本打开应用程序 bat格式文件怎么打开
- 阿里云服务器租用费用 阿里云服务器使用教程
- vmware服务器版 vmware安装安卓系统
- 十大云服务器排行榜 云主机租用哪家好
- 云服务器搭建虚拟主机 虚拟主机和云服务器区别
- vba打开指定excel文件并关闭操作 vba打开指定excel文件并关闭
- 页面重新加载JS方法 重新加载js文件
- nas网络存储服务器使用 nas存储服务器搭建
- win10访问ftp文件夹错误 ftp无法访问此文件夹