bolb:http 加密视频路径

news/2024/11/29 20:31:31/

后台代码,仅需读取文件并变成二进制流:
/**
* bolb 测试
*/

public void getFile(HttpServletResponse response, HttpServletRequest request){File f = new File("service-web/src/main/resources/static/images/video1.mp4");String fileName = f.getName();String agent = request.getHeader("User-Agent").toUpperCase();InputStream fis = null;OutputStream os = null;try{fis = new BufferedInputStream(new FileInputStream(f.getPath()));byte[] buffer;buffer = new byte[fis.available()];fis.read(buffer);response.reset();//由于火狐和其他浏览器显示名称的方式不相同,需要进行不同的编码处理if(agent.indexOf("FIREFOX") != -1){//火狐浏览器response.addHeader("Content-Disposition", "attachment;filename="+ new String(fileName.getBytes("GB2312"),"ISO-8859-1"));}else{//其他浏览器response.addHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode(fileName, "UTF-8"));}//设置response编码response.setCharacterEncoding("UTF-8");response.addHeader("Content-Length", ""+ f.length());//设置输出文件类型response.setContentType("video/mpeg4");//获取response输出流os = response.getOutputStream();// 输出文件os.write(buffer);}catch(Exception e){System.out.println(e.getMessage());} finally {//关闭流try {if (fis != null) {fis.close();}} catch (IOException e) {System.out.println(e.getMessage());} finally {try {if (os != null) {os.flush();}} catch (IOException e) {System.out.println(e.getMessage());} finally {try {if (os != null) {os.close();}} catch (IOException e) {System.out.println(e.getMessage());}}}}
}

前台接收代码:

function demoBlob() {//创建XMLHttpRequest对象var xhr = new XMLHttpRequest();//配置请求方式、请求地址以及是否同步xhr.open('POST', '/getBolb', true);//设置请求结果类型为blobxhr.responseType = 'blob';//请求成功回调函数xhr.onload = function (e) {if (this.status == 200) {//请求成功//获取blob对象var blob = this.response;//获取blob对象地址,并把值赋给容器console.log("!_______________________________________________________________________________________________")console.log("加密后的视频路径:"+URL.createObjectURL(blob));console.log("!_______________________________________________________________________________________________")}};xhr.send();
}

http://www.ppmy.cn/news/901334.html

相关文章

java连接fdb文件_FDB文件扩展名 - 什么是.fdb以及如何打开? - ReviverSoft

你在这里因为你有,有一个文件扩展名结尾的​​文件 .fdb. 文件与文件扩展名 .fdb 只能通过特定的应用程序推出。这有可能是 .fdb 文件是数据文件,而不是文件或媒体,这意味着他们并不是在所有观看。 什么是一&nbsp.fdb&nbsp文件? 该是.fdb文件扩展名被用作编录文件。…

DBF文件的初步了解(一)

DBF文件格式是一种比较“古老”的数据库文件格式了。要不是最近项目中需要,笔者恐怕到今天也不曾听说过DBF文件格式。 作用:DBF数据库格式是DOS系统中的dBase数据库和FoxPro数据库所使用的数据库格式。如今,如果电脑上没有安装这两款软件&…

Dbc文件格式

主要熟悉各类关键字触类旁通 关键字: 网络节点: 格式:BU_ NODE1 NODE2 .... 例: BU_: CEM HUT GW T_Box Tester 表示dbc中包含CEM HUT GW T_Box Tester五个网络节点 报文: 格式:BO_ id name:d…

BDF文件格式小结

参考资料:5005.BDF_Spec.pdf 常用全局字段如下: STARTFONT 1.0 COMMENT FONTBOUNDINGBOX 12 16 0 0 CHARS 280 它们的意义如下: 1。STARTFONT:后加字体版本号 2。COMMENT:后加注释内容 3。FONTBOUNDINGBOX&am…

转换加密的WMV文件让所其它播放器可以放

一、连上网,用windows media player 10 打开要获取许可证的WMV文件,出现获取许可证窗口,下载好后,不要点播放,然后关闭这个窗口和WMP10.你可以进行备份。二,打开fairusewm,点恢复许可证,调入许…

什么是 MBG 文件扩展名?

MBG 文件摘要 MBG 文件与 一 种文件类型相关联,可以使用 Fookes Software 开发的 Mailbag Assistant查看。 总的来说,这种格式与 一 种已知的软件应用程序相关联。 它们通常以 Mailbag Assistant E-mail Archive File 文件格式存在。 大多数 MBG 文件被视…

.frm和.ibd 文件恢复数据库

从frm文件中恢复表结构 先备份之前数据的.frm 和.ibd文件,并创建与之前名称相同的数据库 show variables like datadir; //查看data路径 create database hospital;进入数据库,并创建名称相同的表,由于不知道表结构,先创建1列 use hospita…

pkl文件,csv文件,tsv文件

(1)pkl文件: pkl文件是python里面保存文件的一种格式,如果直接打开会显示一堆序列化的东西。 正确的打开方式如下: import cPickle as pickle f open(path) data pickle.load(f) print (data) #show file &#xff…