【问题标题】:jQuery webcam: Save mode results in: ''error: No save mode compiled in."jQuery 网络摄像头:保存模式导致:''错误:未编译保存模式。”
【发布时间】:2011-09-27 18:52:46
【问题描述】:

我目前正在实现照片快照功能,以允许用户通过网络摄像头设置他们的个人资料照片。为此,我使用jQuery Webcam Plugin

问题出现在我想让用户单击“拍照”并将快照保存到服务器的适当位置以供用户图像 API 检索。

看起来这应该很容易做到,但由于某种原因我遇到了问题。当我按下按钮时,照片拍摄正常,但由于收到错误error: No save mode compiled in.

,保存无法正确执行

注意:我的保存 URL 包含一个 hash 变量,例如 ?hash=XYZ123。这就是图像在 PHP 文件中的命名方式。

我试图从 url 中删除 hashref 变量,认为这可能会导致图像数据以某种方式丢失/忽略,但这并没有产生任何区别。谁能看到我在这里做错了什么?我很确定我遵循了文档以及位于 SO 上的其他几篇帖子,like this one

截图

HTML

<div id="camera"></div> <!-- WebCam Live Display -->
<div id="wcStatus"></div> <!-- Debug Text Display -->

<button onclick="showWebcam();">Use Webcam Instead</button>

<!--This button is normally hidden until camera initialized, but for sake for demo-->
<button onclick="saveWebCam('XYZ123', '66');">Take a picture!</button>

JS

function showWebcam(){
    $("#camera").webcam({
        width: 320,
        height: 240,
        mode: "save",
        swffile: "/webcam/jscam_canvas_only.swf",
        debug: function(type, string) {
            $('#wcStatus').append(type + ": " + string + '<br /><br />');
        }     
    }); 
}
function saveWebCam(hash, id){
    var url = '/accountFiles/userImages/saveFromWebCam.php?hash=' + hash + '&ref=' + randomString(30);
    $('#wcStatus').append('Capturing: ' + url + '<br /><br />');
    webcam.capture();
    webcam.save(url);
}

PHP (saveFromWebCam.php)

<?php
    $destFile=$_REQUEST['hash'].'.jpg';
    $str = file_get_contents('php://input');
    file_put_contents($destFile, pack("H*", $str));     
?>

调试输出

通知:相机已启动

正在捕获:/accountFiles/userImages/saveFromWebCam.php

通知:捕获开始。

通知:捕获完成。

错误:没有编译保存模式。

【问题讨论】:

  • 您确定您使用的是最新版本的插件吗?正如我在 github 上看到的,您提到的错误消息可能来自 actionscript 文件,但该行已被推荐。如果检查失败,请尝试检查 jquerycam 插件 github.com/infusion/jQuery-webcam/network/members 的其他分支(例如 lalop 或 nedforce 分支)。
  • 感谢您的回复。我肯定下载了最新版本(不止一次)。

标签: php jquery webcam save


【解决方案1】:

这是你的错误:

swffile: "/webcam/jscam_canvas_only.swf",

应该是:

swffile: "js/jscam.swf",

引用plugin webpage:

指向提供网络摄像头 API 的 Flash 电影的 swf 文件。通过下载存档提供了两个 swf 文件:提供完整 API 的 jscam.swf 和没有嵌入 JPEG 库的 jscam_canvas_only.swf(我嵌入了 AS 3 corelib 的调整后的 JPGEncoder)。因此,文件只有原始文件的三分之一。

【讨论】:

【解决方案2】:

通常情况下,时间限制迫使我寻找这个项目的替代方案。我已经决定,就像网络上的许多人一样,使用jpegCam Project。我在大约 15 分钟内启动并运行了它。简单的!我不删除此问题的唯一原因是为了将来寻求此类知识的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 2011-10-10
    • 1970-01-01
    相关资源
    最近更新 更多