createObjectURL jquery/js |實現獲取影片截圖? blob 儲存到服務器?

asys0512
  • 2.7k
$(document).on("change", ".uploadVideo", function() {
  var video = this.files[0];
  var videoUrl = window.URL.createObjectURL(video);

我做了一個上傳視頻
會給 blob 網址就像這樣:

blob:http://localhost/367a4312-f142-4646-8a8d-7c0674e60413

問題1
想問說有沒有辦法實現取得一個圖片檔,是那個影片的某一段或隨機一段畫面當作截圖?
就很像是 youtube 如果你沒有決定視頻的截圖,它會自動幫你抓某一段當作截圖

問題2
假設我同時上傳有很多個 blob:http://localhost/367a4312-f142-4646-8a8d-7c0674e60413 這種網址時,怎麼樣做一次性的上傳?

preg_match('/^(data:\s*image\/(\w+);base64,)/', $crop_result, $result);
$fileType = '.' . $result[2];
file_put_contents($uploadPathIcon.'HEELLOO' . $fileType, base64_decode(str_replace($result[1], '', $crop_result)));

這個是用 FileReaderreadAsDataURL 取到的 data: 圖片網址,就跟 blob 這道理很像,但我不知道這兩者是否可以通用,一樣的話我就能夠把它下載到服務器了。

评论
阅读 981
1 个回答
✓ 已被采纳

问题1

createImageBitmap了解一下

示例:https://jsfiddle.net/7tekqLys/3/

问题2

blob:网址只能在浏览器内使用,而且关掉浏览器之后就会被清理。

最好是直接在服务器上接收二进制文件,表单类型multipart/form-data,文件会放到$_FILES变量里,直接存下来。了解一下

撰写回答

登录后参与交流、获取后续更新提醒

宣传栏