【问题标题】:How to read a jpg bytearray from a Flash AS3 file如何从 Flash AS3 文件中读取 jpg 字节数组
【发布时间】:2012-10-29 16:18:55
【问题描述】:

我正在尝试将 Flash AS3 中的图像作为 jpg 文件保存到我的服务器。我找到了一些 PHP 代码来执行此操作,但我想在 Ruby 中执行此操作。我不太确定如何将以下代码转换为 Ruby。主要是$GLOBALS["HTTP_RAW_POST_DATA"]部分不知道怎么转换。

<?php

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

      // get bytearray $im = $GLOBALS["HTTP_RAW_POST_DATA"];

      // save image $f = fopen($_GET['name'], 'wb'); fwrite($f, $jpg); fclose($f);

   } else echo 'An error occured.';

?>

来源:

http://designreviver.com/tutorials/actionscript-3-jpeg-encoder-revealed-saving-images-from-flash/

我尝试执行以下操作,但生成的图像文件无法打开

temp_file = Tempfile.new(['temp', '.jpg'], :encoding => 'ascii-8bit')
temp_file.write(request.raw_post)
temp_file.close

编辑

图片数据在request.raw_post

EDIT2

至于要发送的图像,这是在 AS3 中创建标头的方式

var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
var saveJPG:URLRequest = new URLRequest("http://127.0.0.1:3000/save_image.xml");
saveJPG.requestHeaders.push(header);

saveJPG.method = URLRequestMethod.POST;

【问题讨论】:

    标签: ruby-on-rails-3 actionscript-3


    【解决方案1】:
    $GLOBALS["HTTP_RAW_POST_DATA"] 
    

    可以抓取

    request.env["HTTP_RAW_POST_DATA"]
    

    并将其保存为https://stackoverflow.com/a/2571575/643500

    编辑:

    图片数据不是在request.body吗?

    我需要查看图像是如何发送的。你有Content-Type的标题吗?

    【讨论】:

    • 那么,它应该像这样工作吗? File.open(tempfile.path,'w') 做 |f| f.write request.env["HTTP_RAW_POST_DATA"] 结束
    • 你可以测试它,它会回答问题。只需调试您可用的内容。
    • 链接中的示例从请求中抓取图像数据。
    • 我需要看看图像是如何发送的。你有Content-Type的标题吗?
    • 试试 Base64。如果这没有帮助,那么看看这个例子stackoverflow.com/a/6084208/643500
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 2023-03-08
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多