public function addImage(Application $app, Request $request)
{
if (!$request->isXmlHttpRequest()) {
throw new BadRequestHttpException('リクエストが不正です');
}
$images = $request->files->get('admin_product');
$files = array();
if (count($images) > 0) {
foreach ($images as $img) {
foreach ($img as $image) {
//ファイルフォーマット検証
$mimeType = $image->getMimeType();
if (0 !== strpos($mimeType, 'image')) {
throw new UnsupportedMediaTypeHttpException('ファイル形式が不正です');
}
$extension = $image->getClientOriginalExtension();
$filename = date('mdHis') . uniqid('_') . '.' . $extension;
$image->move($app['config']['image_temp_realdir'], $filename);
$files[] = $filename;
}
}
}
$event = new EventArgs(array('images' => $images, 'files' => $files), $request);
$app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_PRODUCT_ADD_IMAGE_COMPLETE, $event);
$files = $event->getArgument('files');
return $app->json(array('files' => $files), 200);
}