我正在尝试将图像从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;
答案 0 :(得分:1)
$GLOBALS["HTTP_RAW_POST_DATA"]
可以从
中获取request.env["HTTP_RAW_POST_DATA"]
并将其保存为https://stackoverflow.com/a/2571575/643500
修改强>
request.body
中的图像数据不是吗?
我需要查看图像的发送方式。你有Content-Type
的标题吗?