下载的流式传输【渡一教育】
linsk:
能写出这样的代码,就是因为后端不配合。
不想取名字真君:
我想到了个方法就是token验证过后发送一个临时url用一次就废弃http://x.x.x.x/files/hdtghjchfxejbdjbfyjxt
就像这样本人小白不要喷[原神_欸嘿]
【回复】服务器暴露一个公钥,返回的url里带上了一个存活时间和token合并后的md5以及存活时间,用户在请求这个地址时候也要用公钥算自己token加密后的值并放到query另一个参数里一起发到服务器,最后服务器得到下载请求后同时检验身份和时间
武大郎要自信:
现在很多视频下载插件就是先保存在临时文件界面生成个按键,最后再让用户下载的
XiaoChai_chai:
个人觉得会出现视频中这样的代码确实像这位老师说的主要原因是token验证的问题,但是还有个问题想请教一下,
这样显式的利用a元素下载静态数据是会暴露后端服务器的,都已经前后端分离并且利用反向代理了就是要确保后端服务器的安全,
当然我说的是要下载的数据保存在后端服务器上并且前后端服务器分离的情况,我个人不觉得老师说的这种方式能确保后端服务器安全。
【回复】所以要token验证你的请求啊
【回复】你进入b站,随便选张图片的URL链接,你就知道服务器地址了。
好了,你来教我如何攻击服务器吧[呲牙]
一生忽得夏司掌好年华:
你在 av1502820431 中艾特小笨啦,视频总结如下:
一、两种触发下载的方式:服务器方式和客户端方式,以及为什么使用按钮来实现下载逻辑的原因。同时,我们还讲解了如何正确实现下载逻辑。
00:01 - 代码有严重问题,但功能正确,用于给按钮注册点击事件并触发下载。
01:06 - 使用服务器方式触发下载,需要后端配合设置响应头。
02:06 - 使用A元素加上download属性触发下载,需要同源地址和登录权限验证。
二、通过设置地址和WNLOAD属性触发下载,以及使用阿贾克斯请求传输文件数据的方法,并指出了使用阿贾克斯请求存在的问题。
03:00 - 通过点击元素弹出下载,需要设置WNLOAD属性
03:46 - 文件数据直接流向文件,不需要浏览器本地保存,节省内存05:39 - 使用阿贾克斯请求模式传输文件数据,需要设置token和cookie
三、如何使用浏览器的cookie和A元素直接链接文件,避免了使用阿贾克斯中转的步骤,提高了数据传输的效率。
06:00 - 使用A元素链接文件,服务器会验证保存的cookie
06:11 - 使用A元素链接文件,cookie会自动带过去,服务器可以验证
06:20 - 使用A元素链接文件,不会中转,直接流向文件,下载时需小心处理
--本内容由AI视频小助理生成
P.S.召唤指令需完整发送“@AI视频小助理 总结一下”[tv_doge]
来自樱花庄的男孩:
不能说错的,现在PDF这种小文件的完全没有问题
【回复】视频说:这种方式有问题,但功能正确。
并没有说不对哇
哎哟喂我害羞:
老师能出一期单元测试吗?需求做完了,新提交代码做一次单元测试,
海洋足球盛宴:
我想上传excel 修改了excel数据后,然后直接导出怎么处理
伟大的潜水家十月蘑:
cookie是怎么过去的,难道破拼接参数?