如何通过post方法从邮递员的原始数据中保存和下载视频文件等文件

Posted

技术标签:

【中文标题】如何通过post方法从邮递员的原始数据中保存和下载视频文件等文件【英文标题】:How to save and download file like video file in raw data from postman by post method 【发布时间】:2020-04-16 01:46:15 【问题描述】:

我使用 base64_decode 将字符串转换为视频文件。但是它非常耗时且漫长的过程,并且使邮递员应用程序非常慢。

【问题讨论】:

嗨,欢迎来到 SO。你能发布更多关于你的问题吗?您尝试过的等另请参阅***.com/help/how-to-ask 为什么不直接发送二进制文件呢? 我为此使用了 base_64 编码解码,它的工作原理 $video = base64_decode($video_64); //实际图像 $video_url = "video_".time().".mp4"; if(isset($video) && isset($video_url)) file_put_contents(public_path().'/videos/'.$video_url, $video); $video_path = $video_url; 但它影响邮递员应用程序 【参考方案1】:

请查看此链接: Base64 video encoding - good\bad idea?

简而言之,单独使用 base64 进行视频传输对性能和带宽都不利。要克服这个问题,您有两种选择:

第一个选项:

按照@D-Marc 在 mintioned 链接中的建议,使用 gzip 压缩 base64 以减小其大小。但是,这会增加对每个请求进行压缩和解压缩的麻烦。

第二个选项:

使用二进制格式进行视频上传,这样更简洁,可以省去很多麻烦。上面提到的链接中选择的答案最好地描述了哪个。

【讨论】:

以上是关于如何通过post方法从邮递员的原始数据中保存和下载视频文件等文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将两个不同的对象传递给邮递员中的 POST 请求以测试 RESTful API?

Spring boot 的 Postman Post 请求保存了整个 JSON 正文,而不仅仅是字段值。我该如何解决?

处理HTTP Post的正确方法,然后通过HTTP下载,然后保存到核心数据

如何从 JS 获取和保存令牌中获取 ASP.NET Web Api 令牌(登录)

用户通过邮递员解析自定义日期和时间

如何在 Laravel REST API 中使用 PUT 方法更新图像?