http如何实现同时发送文件和报文(用java实现)
发布网友
发布时间:2022-04-20 22:27
我来回答
共3个回答
热心网友
时间:2023-07-20 21:26
你用的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实现的,可以进行报文的传输,但后来对方要增加同时传输报文和文件,然后就不会了
追答我写的这个回答不是说的挺清楚了么。 哪不明白?
热心网友
时间:2023-07-20 21:27
这个算是web项目中的文件上传功能接口。
java的web项目现在可以使用idea编辑器创建spring boot项目快速构建。(很简单,具体步骤请百度)
文件上传功能也百度吧,一大堆。关键词: spring boot 文件上传
热心网友
时间:2023-07-20 21:27
HTTP multipart/form-data 协议本身就是支持的。。。。。。。。写个简单的HTML页面,post到servlet、自己根据协议解析
~~~~~~~~~~~~~~~~~~~~~~~
http如何实现同时发送文件和报文(用java实现)
选body 选File 选文件 Send //commons fileupload组件的情况下,servlet接收的数据只能是type=file表单元素类型,那么获取type=text类型,就可以使用parseRequest(request)来获取list,fileitem,判断isFormField,为true非file类型的。就可以处理了。下面是处理的部分代码:DiskFileItemFactory factory = new ...
java socket如何实现一次传送多个文件
1、直接流拼接,循环要传输的文件列表,多个InputStream,然后输出到一个OutputStream,这个out就是发送数据的端口,为了接收端能够识别每个文件从而分割流,需要每个流中结尾添加分隔符。其实这就是HTTP文件上传的做法。2、就比较简单了,职业使用ZIP工具包吧需要传输的多文件压缩成一个文件传输,接收端直接...
用的java,通信协议中上下行报文是什么意思
比如有一个android客户端向服务端发送登陆报文 <user> <username>baidu</username> <password>123456</password> </user> 这段由客户端到服务端的xml,就可以视为一个上行报文 服务端收到报文后会返回登陆成功或者失败的信息 比如:200(成功)404 (失败)甚至返回更详细的失败信息等等这个由服务端...
java如何使用http方式调用第三方接口?最好有代码~谢谢
public class HttpUtil { private final static Log log = LogFactory.getLog(HttpUtil.class);public static String doHttpOutput(String outputStr,String method) throws Exception { Map map = new HashMap();String URL = "http://***/interface/http.php" ;String result = "";InputStream...
java如何通过TCP发送字符串和整型数据组成的报文?
在Java中,你可以使用Socket和ServerSocket类来通过TCP发送和接收数据。以下是一个简单的例子,它展示了如何发送字符串和整数数据。首先,这是一个服务器端的代码:java复制代码 import java.io.*;import java.net.*;public class TCPServer { public static void main(String args[]) { try { Server...
在java中怎么循环发送报文,每30笔数据发送一次?
通过list的长度判断发送次数,然后使用list的subList(fromIndex ,toIndex )方法截取要发送的部分fromIndex - subList 的低端(包括) toIndex - subList 的高端(不包括)
怎么获取http报文的长度
HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。在java开发中,有相应的方法获取其长度。在开发中一般不考虑最大长度限制,因为请求报文中有多种头部字段等
java编码问题,GBK与UTF-8转换
如果是以HTTP报文参数来传输的话,就必须把XML报文用URLEncoder去encode,这样中文会转换成%NN%这种东西,全是英文的就跟编码没什么太大关系了。如果是以流的方式传输的话,就要做编码了,用一个BufferedWriter封装一个OutputStreamWriter再封装OutputStream就可以实现了 BufferedWriter writer = new ...
java后端 需要看计算机网络吗
会话层:用于建立和拆除会话,发送的数据,但是有那么多进程,具体哪个进程需要用到这个数据,则把他输送到那个进程。传输层:负责将来自会话层的消息传递给网络层。人为制定出单位,分成一个个的信息段,从中又衍生了报文,结合上面几层,我们就可以有目标的发送正确数据给某台计算机了。传输层有两个重要...
Jmeter获取jtl文件中所有的请求报文
1.把原本的jtl文件只能在查看结果树的请求中看到报文,转变为使用BeanShell发送请求,可以在查看结果树返回中看到所有的结果。2.在查看结果树中,已经可以看到响应了,返回的是全部的原jtl文件内容,提取其中的报文就可以使用正则表达式,边界值提取器,得到自己想要的了,确定好请求的左右边界,匹配数字写-1...