IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> java返回图片流和视频流到前端播放(http路径) -> 正文阅读

[网络协议]java返回图片流和视频流到前端播放(http路径)

因为客户机的访问不到政务云存储的ip, 所以决定使用后台返回视频和图片流到前端

注意: 如果上边返回的流会导致图片不清晰或者马赛克, 请使用下边注释的代码返回流

前端视频用的是ckplayer

/**
	 * 返回视频流和图片流
	 * @param response
	 * @param imgPath
	 */
	@RequestMapping("/getViewImg1")
	public void execute1(HttpServletResponse response,@RequestParam(value="imgPath") String imgPath){
        //由于数据库存的是绝对路径,之前的老数据只能这样转换了
		imgPath=imgPath.replace("http://zkyt-yc.oss-cn-ningxia-a-internal.aliyuncs.com/", "http://zkyt-yc.oss-cn-yc-yczw-d01-a.yc-ops.nxcloud.com.cn/");
		System.out.println("路径-"+imgPath);
		try {
			
			if(imgPath.indexOf("http")>-1) {
				URL url = null;
		        InputStream input = null;
		        try{
		            url = new URL(imgPath);
		            HttpURLConnection httpUrl = (HttpURLConnection) url.openConnection();
		            httpUrl.connect();
		            httpUrl.getInputStream();
		            input = httpUrl.getInputStream();
		        }catch (Exception e) {
		            e.printStackTrace();
		            return;
		        }
				response.setContentType(url.openConnection().getContentType());  
				ServletOutputStream out=response.getOutputStream();
				try {
			        byte[] buf = new byte[2048];
			        while(input.read(buf)>=0){
						out.write(buf);
					}
					out.flush();
					out.close();
					
				} catch (Exception e) {
					e.printStackTrace();
				}finally{
					if(input!=null){
						try {
					        input.close();
						} catch (IOException e) {
							e.printStackTrace();
						}
					}
				}
			}	
				
// 如果边返回的流会导致图片不清晰或者马赛克, 请使用下边注释的代码返回流
				/*
				   URL urlimg = new URL(imgPath);
	              //创建链接对象
	              URLConnection urlConnection = urlimg.openConnection();
	              //设置超时
	              urlConnection.setConnectTimeout(1000);
	              urlConnection.setReadTimeout(5000);
	              urlConnection.connect();
	              //获取流
	              InputStream inputStream = urlConnection.getInputStream();
	              
	              
	              // 判读是mp4格式还是jpg格式
	              
	              String format=imgPath.substring(imgPath.lastIndexOf(".")+1);
	              if(".mp4".equals(format)) {
	            	  response.setContentType("video/mp4"); // 设置返回的文件类型
	            	  response.addHeader("Content-Type", "audio/mp4;charset=UTF-8");
	            	  IOUtils.copy(inputStream, response.getOutputStream());
	            	  response.flushBuffer();
	              }else if(".mp3".equals(format)) {
	            	  response.addHeader("Content-Type", "audio/mpeg;charset=UTF-8");
	            	  IOUtils.copy(inputStream, response.getOutputStream());
	            	  response.flushBuffer();
	              }else if (".jpg".equals(format)) {
	            	  //读取图片
		              BufferedImage bufferedImage = ImageIO.read(inputStream);
		              if (bufferedImage!=null){
		                  //打印图片
		                  ImageIO.write(bufferedImage,format,response.getOutputStream());// 将文件流放入response中
		                  
		              }
		              if(inputStream!=null){
							try {
								inputStream.close();
							} catch (IOException e) {
								e.printStackTrace();
							}
						}
					}
	              }*/
	             
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

前端视频代码

?

?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 10:15:37  更:2021-11-27 10:16:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:46:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码