我有这个表单,文件输入发布到iframe。
<form id="uploadForm" enctype="multipart/form-data" action="{{ path('lesson_upload') }}" target="uploadFrame" method="post">
<label for="uploadFile">Image :</label>
<input id="uploadFile" name="uploadFile" type="file" />
<br /><br />
<input class="btn btn-primary" id="uploadSubmit" type="submit" value="Upload" />
</form>
<div id="uploadInfos">
<div id="uploadStatus">Aucun upload en cours</div>
<iframe hidden id="uploadFrame" name="uploadFrame"></iframe>
</div>
似乎上传大小限制为2M。
我已经编辑了所有的php.ini以增加此限制。 任何.htaccess都没有限制。
symfony是否存在限制?
也许是配置文件?
编辑:PHP脚本
public function lessonUploadAction(Request $request)
{
$error = NULL;
$filename = NULL;
$em = $this->getDoctrine()->getManager();
if (isset($_FILES['uploadFile']) && $_FILES['uploadFile']['error'] === 0)
{
$filename = pathinfo($_FILES['uploadFile']['name'])['filename'];
$ext = pathinfo($_FILES['uploadFile']['name'])['extension'];
// On déplace le fichier depuis le répertoire temporaire vers $targetpath
$doc = new Document();
$doc->setName($filename);
$doc->setAuthor($this->getUser());
$now = new \DateTime();
$doc->setDate($now);
$em->persist($doc);
$em->flush();
$targetpath = getcwd() . '/ressources/library/documents/' . $doc->getSlug() . '.' . $ext;
if (@move_uploaded_file($_FILES['uploadFile']['tmp_name'], $targetpath))
{
$error = 'OK';
}
else
{
$error = "Échec de l'enregistrement !";
}
}
else
{
$error = 'Aucun fichier réceptionné !';
}
return new JsonResponse($this->container->get('jms_serializer')->serialize(['name' => $filename, 'slug' => $doc->getSlug(), 'ext' => $ext], 'json')); // doublement jsonifié ?
}
谢谢,