我正在尝试使用 as3 将图像发送到服务器。我需要返回托管图像的 url,以便我可以将其分享到 facebook 和 twitter。有人告诉我用 ruby 代码复制我在这里拥有的东西,但不能完全做到。这就是我所拥有的。
红宝石代码:
require 'rest_client' # gem: rest-client
require 'json'
mcz_url = 'server URL'
mcz_response = nil
File.open(ARGV[0], 'r') do |f|
params = { :file => f, :type => 'image', :sizes => nil }
RestClient.post(mcz_url, params) do |response, request, result|
mcz_response = response
end
end
unless mcz_response.nil?
json = JSON.parse(mcz_response)
puts "CDN Url: #{json['original']}"
else
puts 'MCZ response is null'
end
动作脚本 3
share_pic.addEventListener(MouseEvent.CLICK, publish); //buton to share a pic
function publish(evt:MouseEvent):void {
var jpgSource:BitmapData = new BitmapData (stage.width, 256);
jpgSource.draw(stage);
var jpgEncoder:JPGEncoder = new JPGEncoder(90);
var jpgStream:ByteArray = jpgEncoder.encode(jpgSource); //image
trace("sharing pic...");
var request = new URLRequest("Server URL");
request.method = URLRequestMethod.POST;
var messages:Array = new Array ();
messages.push ({field_name:"file:", value: jpgSource});
messages.push ({field_name:"type", value:"'image'"});
messages.push ({field_name:"sizes", value:"nil"});
var vars: URLVariables = new URLVariables();
vars.data = JSON.stringify(messages);
request.data = vars;
trace("vars= "+vars);
trace ("request= "+request);
trace("done");
var linkGenerated:String = "";//image string i would like to get from the JSON
var linkFace:String = "http://www.facebook.com/sharer.php?u="
var linkShare:String = linkFace + linkGenerated ;
var requestFace = new URLRequest(linkShare);
navigateToURL(requestFace,"_blank");
}
非常感谢你的帮助。