在我的 Flash 网络摄像头快照应用程序中保存图片

发布于 2024-11-05 14:37:56 字数 1205 浏览 7 评论 0原文

我制作了一个闪存网络摄像头应用程序,允许用户使用网络摄像头为自己拍照。我已成功将照片保存在本地主机中。但是,我想设置这些照片的名称。目前,照片名称是由

<块引用>

$uniqueStamp = 日期('U');

我的 Flash 应用程序中还有一个文本字段,允许用户输入照片名称。例如,如果用户在文本字段中写入“MYPHOTONAME”,则保存在我的本地主机中的照片也将被命名为“MYPHOTONAME”。如何在 Flash 和 PHP 中执行此操作?目前我遇到一些问题,因为我无法将文本字段字符串发送到 PHP。

这是我的 flash 代码,用于将快照发送到 PHP 并让 PHP 将其保存在我的本地主机中:

<块引用>

imgBA = jpgEncoder.encode(imgBD1);

sendReq.​​data = imgBA;

sendLoader.load(sendReq);

这是我的 PHP 代码:

<块引用>

if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) {

$photo = $_POST['照片'];

$uniqueStamp = 日期('U');

$filename = $photo.$uniqueStamp.".jpg";

$fp = fopen( '照片/'.$filename,"wb");

fwrite( $fp, $GLOBALS[ 'HTTP_RAW_POST_DATA' ] );

fclose( $fp );

echo 'filename=photos/'.$filename."&base=".$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]);

}

你所看到的,我尝试传入 $photo = $_POST['photo'];从 flash 到 PHP 但是我不知道确切的代码,有人可以帮助我吗?

I have made a flash webcam application to allow the user to take a photo of themselves using a webcam. I have successfully saved the photo in my localhost. However, I would like to set the names of those photos. Currently, the photos names are generated by

$uniqueStamp = date('U');

I also have a textfield in my flash app that allows inputs from user for the photo name. For example if the user write 'MYPHOTONAME' in the textfield, the photo which will be saved in my localhost will be named 'MYPHOTONAME' too. How do I do it in Flash and in PHP? Currently I'm having some problems because I cannot send the textfield string to PHP.

Here is my flash code to send the snapshot to PHP and let the PHP save it in my localhost:

imgBA = jpgEncoder.encode(imgBD1);

sendReq.data = imgBA;

sendLoader.load(sendReq);

Here is my PHP code:

if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) {

$photo = $_POST['photo'];

$uniqueStamp = date('U');

$filename = $photo.$uniqueStamp.".jpg";

$fp = fopen( 'photos/'.$filename,"wb");

fwrite( $fp, $GLOBALS[ 'HTTP_RAW_POST_DATA' ] );

fclose( $fp );

echo 'filename=photos/'.$filename."&base=".$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]);

}

As you can see, I tried to pass in $photo = $_POST['photo']; from flash to PHP however I do not know the exact code, can anyone help me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

输什么也不输骨气 2024-11-12 14:37:56

您可以使用此类 org. lzyy.util.UploaderPostHelper.getPostData() 模拟 HTTP 上传(与 FileReference 执行相同的操作,但使用生成的数据)

ActionScript 端:

var urlRequest:URLRequest = new URLRequest();
urlRequest.url = uploadPath;
urlRequest.contentType = 'multipart/form-data; boundary=' + UploadPostHelper.getBoundary();
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = UploadPostHelper.getPostData(file, parameters);
urlRequest.requestHeaders.push( new URLRequestHeader( 'Cache-Control', 'no-cache' ) );

var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
//handler for succesful loading of request, ex: trace(urlLoader.data);
//Complete not mean image handling was a success
//Memory usage, type checking, security restriction etc. could produce errors
urlLoader.addEventListener(Event.COMPLETE, onComplete);
//handler for faulty loading of request
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onError);
urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError);
urlLoader.load(urlRequest);

和 PHP 端,基本图像上传处理:

<?php
if ((($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
    if ($_FILES["file"]["error"] > 0)
    {
        echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
    else
    {
        echo "Upload: " . $_FILES["file"]["name"] . "<br />";
        echo "Type: " . $_FILES["file"]["type"] . "<br />";
        echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
        echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

        if (file_exists("upload/" . $_FILES["file"]["name"]))
        {
            echo $_FILES["file"]["name"] . " already exists. ";
        }
        else
        {
            move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
            echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
        }
    }
}
else
{
    echo "Invalid file";
}
?> 

只有一个你不能做的就是监听上传进度。

You can use this class org.lzyy.util.UploaderPostHelper.getPostData() to emulate an HTTP upload (do same thing of FileReference but with generated data)

ActionScript side:

var urlRequest:URLRequest = new URLRequest();
urlRequest.url = uploadPath;
urlRequest.contentType = 'multipart/form-data; boundary=' + UploadPostHelper.getBoundary();
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = UploadPostHelper.getPostData(file, parameters);
urlRequest.requestHeaders.push( new URLRequestHeader( 'Cache-Control', 'no-cache' ) );

var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
//handler for succesful loading of request, ex: trace(urlLoader.data);
//Complete not mean image handling was a success
//Memory usage, type checking, security restriction etc. could produce errors
urlLoader.addEventListener(Event.COMPLETE, onComplete);
//handler for faulty loading of request
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onError);
urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError);
urlLoader.load(urlRequest);

And PHP side, a basic image upload handling:

<?php
if ((($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
    if ($_FILES["file"]["error"] > 0)
    {
        echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
    else
    {
        echo "Upload: " . $_FILES["file"]["name"] . "<br />";
        echo "Type: " . $_FILES["file"]["type"] . "<br />";
        echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
        echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

        if (file_exists("upload/" . $_FILES["file"]["name"]))
        {
            echo $_FILES["file"]["name"] . " already exists. ";
        }
        else
        {
            move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
            echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
        }
    }
}
else
{
    echo "Invalid file";
}
?> 

Only one thing you can't do, is listen upload progression.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文