所以,有点奇怪的问题.我有一堆媒体文件在mongo中保存为base64字符串,有些是图像,有些是视频.
我制作了一个用于获取媒体文件的API:
app.get('/api/media/:media_id', function (req, res) {
media.findById(req.params.media_id)
.exec(function (err, media) {
if (err) {
res.send(err);
}
var file = new Buffer(media.file, 'base64');
res.writeHead(200, {'Content-Type': media.type, 'Content-Transfer-Encoding': 'BASE64', 'Content-Length': file.length});
res.end(file);
});
});
Run Code Online (Sandbox Code Playgroud)
现在,图像没有问题.它们直接从API加载,当我从前端调用API时(例如<img src="/api/media/23498423">)
问题
如果我从前端获取视频,如图像 - 但使用视频或对象标记:
<video src="/api/media/3424525" controls></video>
Run Code Online (Sandbox Code Playgroud)
没问题,但如果我直接从API加载视频:
http://localhost:8080/api/media/3424525
Run Code Online (Sandbox Code Playgroud)
服务器进程崩溃,没有错误.它只是冻结了.我们不是在谈论巨大的视频文件 - 它是一个1.5MB的视频.
我正在测试的所有视频的标题中的媒体类型是video/mp4.哦,只是要明确:如果我对图像做同样的事情,一切都很完美.
编辑:
好的,正如@idbehold和@zeeshan所建议的那样,我看了一下gridfs和gridfs-stream,为了我的应用程序的目的,这肯定是我应该首先使用的.但是,在我的应用程序中实现gridfs后,问题仍然存在.
app.get('/api/media/:media_id', function (req, res) {
gfs.findOne({ _id: req.params.media_id }, function (err, file) {
if (err) {
return res.status(400).send(err);
}
if (!file) {
return res.status(404).send('');
}
res.set('Content-Type', …Run Code Online (Sandbox Code Playgroud) 我正在搞乱解析(parse.com),当我运行以下内容时,我遇到致命的错误.我运行的代码直接从parse.com介绍到PHP SDK.
我在Windows 10上运行XAMPP.
我是否需要通过https运行我的脚本,或者我真的在某处丢失了一些SSL证书?我如何让它工作?
错误:
Fatal error: Uncaught exception 'Parse\ParseException' with message 'SSL certificate problem: unable to get local issuer certificate' in C:\xampp\htdocs\project\assets\php\vendor\parse\php-sdk\src\Parse\ParseClient.php:284
Stack trace:
#0 C:\xampp\htdocs\project\assets\php\vendor\parse\php-sdk\src\Parse\ParseObject.php(1037): Parse\ParseClient::_request('POST', '/1/classes/Test...', NULL, '{"foo":"bar"}', false)
#1 C:\xampp\htdocs\project\assets\php\vendor\parse\php-sdk\src\Parse\ParseObject.php(947): Parse\ParseObject::deepSave(Object(Parse\ParseObject), false)
#2 C:\xampp\htdocs\project\assets\php\test.php(15): Parse\ParseObject->save()
#3 {main}
thrown in C:\xampp\htdocs\project\assets\php\vendor\parse\php-sdk\src\Parse\ParseClient.php on line 284Run Code Online (Sandbox Code Playgroud)
和PHP片段:
require("./vendor/autoload.php");
use Parse\ParseClient;
ParseClient::initialize('secret', 'reallysecret', 'ubersecret');
use Parse\ParseObject;
$testObject = ParseObject::create("TestObject");
$testObject->set("foo", "bar");
$testObject->save();Run Code Online (Sandbox Code Playgroud)
这应该很简单.
我的HTML中有一堆锚点,如下所示:
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
<a href="#">Link 4</a>
<a href="#">Link 5</a>
Run Code Online (Sandbox Code Playgroud)
在CSS中我放置了一个悬停效果来做一个 translate: transform();
a {
font-size: 2em;
transition: all .3s ease-out;
}
a:hover {
transform: translate(0, -5px);
}
Run Code Online (Sandbox Code Playgroud)
现在,当你将它们悬停时,这应该会使锚点向上移动5个像素.它们确实如此,但即使鼠标仍在徘徊,它们也会立即拍下来.其他人遇到这种行为,并找到了解决方案?我想效果保持活跃,而鼠标悬停.Codepen链接:http://codepen.io/BrianEmilius/pen/NqoLQo