服务器上传文件用的方法 服务器上传文件一般用什么( 三 )


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小编还为您精选了以下内容,希望对您有所帮助: