public function upload(SS_HTTPRequest $request)
    {
        $field = $this->getUploadField();
        $uploadResponse = $field->upload($request);
        //decode response body. ugly hack ;o
        $body = Convert::json2array($uploadResponse->getBody());
        $body = array_shift($body);
        //add extra data
        $body['import_url'] = Controller::join_links(
           $this->Link('preview'), $body['id'],
           // Also pull the back URL from the current request so we can persist this particular URL through the following pages.
           "?BackURL=" . $this->getBackURL($request)
        );
        //don't return buttons at all
        unset($body['buttons']);
        //re-encode
        $response = new SS_HTTPResponse(Convert::raw2json(array($body)));

        return $response;
    }