建站宝盒里的手机网站,wordpress如何设置外网访问,湛江企业自助建站,黑客零基础入门静态资源地址API字节流访问服务器文件区别及相互兼容方案 概述特殊场景分析猜测解决 概述
访问文件资源#xff0c;一般常见的有两种方式#xff1a;
静态资源地址#xff1a;https://www.baidu.com/aaa.png、https://www.baidu.com/video.mp4接口获取文件流API字节流访问服务器文件区别及相互兼容方案 概述特殊场景分析猜测解决 概述
访问文件资源一般常见的有两种方式
静态资源地址https://www.baidu.com/aaa.png、https://www.baidu.com/video.mp4接口获取文件流https://www.baidu.com/api/png/aaa13
这两种方式一种是通过中间件进行http服务访问一种是后端接口读取文件然后以输出流响应给前端但实际上得到的都是文件的字节流
特殊场景
但是在日常使用中
浏览器访问无论是访问静态资源地址还是接口获取流都可以访问文件不同浏览器表现不同有的可以预览有的直接下载img标签只能使用静态资源地址使用流的API地址会裂开可以通过浏览器转成Blob对象然后赋值src使用videojs只能使用静态资源地址使用流的API地址会提示“无法找到此视频兼容的源”可以通过浏览器转成Blob对象然后赋值但是视频太大的时候对浏览器压力很大ie的iframe不支持Blob也不支持文件流预览文件流会直接提示下载ie只支持image、js、css之类的
分析猜测
但是两种访问方式都是得到文件的流为啥两种方式使用的效果不一样呢大致翻了很多资源推断个人推断是静态资源地址最后面有文件扩展名html标签处理时就可以知道流中的内容类型然后渲染流内容。
解决
虽然只是推断但是我尝试在流地址https://www.baidu.com/api/png/aaa13后面加上一个假的字符串/video.mp4或/image.png但后端接口对该path无任何处理。
于是得到了一个https://www.baidu.com/api/png/aaa13/video.mp4访问原来的文件流API。
呵~ 结果您猜怎么怎么着图片也能看了视频也能播了除了访问路径变了任何数据处理都没改。
那就可以用这个手段欺骗浏览器使API文件流也具有静态资源地址一样的作用和效果。