http如何实现同时发送文件和报文(用java实现)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http如何实现同时发送文件和报文(用java实现)相关的知识,希望对你有一定的参考价值。

java 实现http同时传送文件和报文,以及同时接收文件和报文,文件格式为:post multipart/form-data
并且如何在postman里进行自行测试,最好有完整代码(本人算半小白)

你用的servlet 还是别的框架?

    选POST

    选form-data

    选body

    选File

    选文件

    Send

// commons fileupload组件的情况下,servlet接收的数据只能是type=file表单元素类型,那么获取type=text类型,就可以使用parseRequest(request)来获取list,fileitem,判断isFormField,为true非file类型的。就可以处理了。下面是处理的部分代码:

DiskFileItemFactory factory = new DiskFileItemFactory();factory.setSizeThreshold(1024*1024);
String dirtemp = "c:";
File filedir = new File(dirtemp + "filetemp");
String str = null;if(!filedir.exists())filedir.mkdir();factory.setRepository(filedir);
ServletFileUpload upload = new ServletFileUpload(factory);
List list = upload.parseRequest(request);for(
int i = 0;i<list.size();i++)

FileItem item = (FileItem) list.get(i);
if (item.isFormField()) 
System.out.println(item.getString());
 else 
String filename = item.getName();
item.write(new File(request.getRealPath(dir), filename));

追问

我也不知道我用的是什么框架,我是网上找到用httpURLConnection实现的,可以进行报文的传输,但后来对方要增加同时传输报文和文件,然后就不会了

追答

我写的这个回答不是说的挺清楚了么。 哪不明白?

参考技术A

这个算是web项目中的文件上传功能接口。

    java的web项目现在可以使用idea编辑器创建spring boot项目快速构建。(很简单,具体步骤请百度)

    文件上传功能也百度吧,一大堆。关键词: spring boot 文件上传

参考技术B HTTP multipart/form-data 协议本身就是支持的。。。。。。。。写个简单的html页面,post到servlet、自己根据协议解析
~~~~~~~~~~~~~~~~~~~~~~~

java如何实现两个客服端之间互相发送信息

客户端1发信息给服务器,服务器转发信息给客户端2;客服端2接受服务端发来的信息,然后发信息给服务端,服务端转发信息给客服端1。客服端1和客户端2之间可以像聊天一样一直发信息

参考技术A

两个客户端发送消息,是通过服务器来处理的

建议你查看百度云推送,或者极光推送,都是免费

他们的推送技术有个叫推聊的功能就可以直接推送给指定的客户端

你不需要去实现这种逻辑

当然如果你非要用自己服务器去做的话,也是可以的,以下给你提供思路:

    用长连接或者java sokcet 即所有客户端都和服务器保持连接,一但有数据写入就向客户端发送数据

    用轮询,即客户端定时去查消息,例如A向B发消息,首先把数据写到服务器,B去查服务器就能查出来了

本回答被提问者和网友采纳
参考技术B 你这思路都有了还不会写么。。

以上是关于http如何实现同时发送文件和报文(用java实现)的主要内容,如果未能解决你的问题,请参考以下文章

在java中如何实现http/post/xml发送数据报文?麻烦高手赐教!

java 实现长连接接受信息,发送信息

如何根据xml和schema文件生成java类(用程序实现)!

基于MFC的TCP报文通信如何实现16进制的发送

http代理报文通过发包实现代理请求网页内容

soap设置报文头值 java