public function testStringContent() { $upload = new FormUpload(); $upload->setName('company[logo]'); $upload->setFilename('google.png'); $upload->setContent(file_get_contents(__DIR__ . '/Fixtures/google.png')); $this->assertEquals(array('Content-Disposition: form-data; name="company[logo]"; filename="google.png"', 'Content-Type: image/png'), $upload->getHeaders()); }
/** * @param string $binaryImage * @param string $filename * @param int $expire * * @return Response */ public function call($binaryImage, $filename, $expire) { $response = new Response(); $image = new FormUpload(); $image->setFilename($filename); $image->setContent($binaryImage); $request = $this->buildRequest($image, $expire); $this->client->setOption(CURLOPT_TIMEOUT, 10000); $this->client->send($request, $response); return $this->processResponse($response); }
public function testMultipartContent() { $upload = new FormUpload(); $upload->setFilename('image.jpg'); $upload->setContent('foobar'); $request = new FormRequest(); $request->setField('user[name]', 'Kris'); $request->setField('user[image]', $upload); $content = $request->getContent(); $this->assertContains("Content-Disposition: form-data; name=\"user[name]\"\r\n\r\nKris\r\n", $content); $this->assertContains("Content-Disposition: form-data; name=\"user[image]\"; filename=\"image.jpg\"\r\nContent-Type: text/plain\r\n\r\nfoobar\r\n", $content); }
/** * @param UploadedFile $file * @param string $clientName * @param string $context * * @return Response * * @throws MediaStorageClientApiException * * @todo config to $context */ public function sendFile(UploadedFile $file, $clientName, $context) { try { $request = new FormRequest(); $request->setHeaders(['headers' => 'enctype:multipart/form-data']); $request->setMethod($this->getClientsConfig($clientName, 'method') ? $this->getClientsConfig($clientName, 'method') : FormRequest::METHOD_POST); $request->setHost($this->getClientsConfig($clientName, 'base_url')); $formUpload = new FormUpload($file->getRealPath()); $formUpload->setFilename($file->getClientOriginalName()); $request->addFields(['binaryContent' => $formUpload, 'context' => $context]); $request->setResource($this->getClientsConfig($clientName, 'add_media_url')); $this->logger->debug('Send ' . $this->getClientsConfig($clientName, 'base_url') . $this->getClientsConfig($clientName, 'add_media_url')); //.' '.$request->getContent() /** @var Response $response */ $response = $this->client->send($request, null); $this->logger->debug('Response: ' . $response->getStatusCode() . ' ' . substr($response->getContent(), 0, 300)); } catch (\Exception $e) { throw new MediaStorageClientApiException($e->getMessage()); } return $response; }
public function provideClientAndUpload() { $stringUpload = new FormUpload(); $stringUpload->setFilename('google.png'); $stringUpload->setContent(file_get_contents(__DIR__ . '/../Message/Fixtures/google.png')); $uploads = array($stringUpload, new FormUpload(__DIR__ . '/../Message/Fixtures/google.png')); $clients = $this->provideClient(); $data = array(); foreach ($clients as $client) { foreach ($uploads as $upload) { $data[] = array($client[0], $upload); } } return $data; }