Tôi đã tìm ra cách tạo API để phát tệp trực tiếp từ mongoDB GridFS trong tiện ích hình ảnh video âm thanh HTML. Vấn đề duy nhất với nó là nó sử dụng dữ liệu được truy xuất từ mongoDB làm dữ liệu base64. Bây giờ vấn đề mà tôi đang nói đến được thảo luận trong liên kết này:
http://davidbcalhoun.com/2011 / when-to-base64-encode-images-and-when-not-to .
Tôi hy vọng bạn thấy rằng hữu ích trước khi quyết định sử dụng giải pháp tôi đang sử dụng. Giải pháp của tôi như sau:
$stream = $file->getResource();
$stringcoded = stream_get_contents($stream); //converts the stream to string data
$encoded = base64_encode($stringcoded); //encodes string data to base64
Bây giờ bạn có dữ liệu âm thanh, video hoặc hình ảnh được mã hóa trong base64, bạn chỉ cần lặp lại dữ liệu trong phần 'src' của tiện ích html5.
Tôi nhận được giải pháp này từ một blog rất hữu ích. Nếu bạn cần thêm trợ giúp về nó, vui lòng xem qua:
http://www.iandevlin.com / blog / 2012/09 / html5 / html5-media-and-data-uri
Mọi giải pháp nâng cao cho vấn đề này đều được hoan nghênh.