java发起URL的post表单请求上传视频

javascript 复制代码
     /**
	 * 上传视频
	 */
	@Override
	public R uploadVideo(MultipartFile video) {

			String url = "xxxxxxxxxxx";
			HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
			conn.setConnectTimeout(10*1000);
			conn.setConnectTimeout(5000);
			conn.setReadTimeout(30000);
			conn.setDoOutput(true);
			conn.setDoInput(true);
			conn.setUseCaches(false);
			conn.setRequestMethod("POST");
			conn.setRequestProperty("Connection", "Keep-Alive");
			conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.6)");
			conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + Boundary);

			DataOutputStream out = new DataOutputStream(conn.getOutputStream());
			//=============================模拟表单提交视频的核心===============top
			StringBuffer strBuf = new StringBuffer();
			strBuf.append("\r\n").append("--").append(Boundary).append("\r\n");
			strBuf.append("Content-Disposition: form-data; name=\"" + "video" + "\"; filename=\"" + video.getOriginalFilename() + "\"\r\n");
			strBuf.append("Content-Type:" + "video/mp4" + "\r\n\r\n");

			out.write(strBuf.toString().getBytes());

			byte[] b = new byte[1024];
			int l = 0;
			out.write(b); // 写入文件
			out.writeUTF("\r\n--"+Boundary+"--\r\n");
			out.flush();
			out.close();
			//=============================模拟表单提交视频的核心===============bottom
			BufferedReader result = new BufferedReader(new InputStreamReader(conn.getInputStream()));
			String s = null;
			StringBuilder r = new StringBuilder();
			while((s=result.readLine())!=null) {
				r.append(s);
			}
			
//			return R.error();
			
		}catch (Exception e){
			return R.error("异常================="+e);
		}
	}

原文链接:https://blog.csdn.net/weixin_43852094/article/details/11535179

相关推荐
许彰午4 小时前
14_Java泛型完全指南
java·windows·python
智慧物业老杨4 小时前
司法绿色通道下的物业纠纷数智化解决方案——基于“三优先“机制的全流程技术落地实践
java·django
2601_961194024 小时前
2026初级会计实务公式总结大全|计算题公式手册PDF
java·spring·eclipse·pdf·tomcat·hibernate
做个文艺程序员4 小时前
第1篇:K8s 核心概念精讲:Pod、Deployment、Service 与 Namespace——Java 开发者快速上手指南
java·云原生·容器·kubernetes·容器编排
小欣加油6 小时前
leetcode3751 范围内总波动值I
java·数据结构·c++·算法·leetcode
代码中介商7 小时前
C++左值与右值:核心判断法则详解
开发语言·c++
闪电悠米7 小时前
黑马点评-Redisson-01_why_redisson
java·服务器·网络·数据库·缓存·wpf
星轨zb7 小时前
LangChain4j 集成 Spring Boot:会话记忆 NPE 的根源与 ChatMemoryProvider 正确配置
java·spring boot·后端·langchain4j
JAVA9657 小时前
JAVA面试-并发篇 05-并发包AQS队列实现原理是什么
java·开发语言·面试
JAVA面经实录9177 小时前
RocketMQ全套学习知识手册
java·kafka·rabbitmq·rocketmq