vendredi 18 septembre 2015

Upload bitmap data from flash to laravel route

I have a video player built in AS3. I take a snapshot of the video player using this code:

var uploadUrl = 'http://localhost:8000/assets/uploadframegrab';
var bitmap = new Bitmap();        
var graphicsData : Vector.<IGraphicsData>;
graphicsData = container.graphics.readGraphicsData();
bitmap.bitmapData = GraphicsBitmapFill(graphicsData[0]).bitmapData;

var jpgEncoder:JPGEncoder = new JPGEncoder(85);
var jpgStream:ByteArray = jpgEncoder.encode(bitmap.bitmapData);

var loader:URLLoader = new URLLoader();
var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
var request:URLRequest = new URLRequest(uploadUrl);
request.requestHeaders.push(header);
request.method = URLRequestMethod.POST;
request.data = jpgStream;
loader.load(request);

I need to upload the encoded to JPG using one of my Laravel routes. My route looks like:

Route::post('assets/uploadframegrab', 'AssetController@uploadFramegrab');

When I run the AS3 code, it calls the URL, but I get a 500 internal server error and my javascript console doesn't give me any errors other than 500 internal server error. I can see the request header contains the encoded JPG.

My uploadFramegrab function is simply this for now:

public function uploadFramegrab(Request $request)
{
  if ($request)
  {
    return Response::json(['hasfile' => 'it has a file']);
  }
  else
  {
    return Response::json(['error' => 'no file uploaded']);
  }
  //if (!Input::has('pid')) return Response::json(['error' => 'Invalid Project Id']);
}

I've searched online but I cannot find anything specifically for uploading fro flash to laravel. I've done it javascript to laravel no problem. Anyone know what this could be? If you'd like more information please ask.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire