【问题标题】:Maximum upload size for images图片的最大上传大小
【发布时间】:2013-11-21 10:07:55
【问题描述】:

如何为上传字段分配最大 4MB 的大小? 我试过这个

$imageField = new SortableUploadField('Images', 'Images');
$imageField->setOverwriteWarning(FALSE);
$imageField->setAllowedMaxFileNumber(40);
$sizeMB = 4; // 4 MB
$size = $sizeMB * 1024 * 1024; // 2 MB in bytes
$imageField->getValidator()->setAllowedMaxFileSize($size); 

但我收到内部服务器错误/禁止消息。

谢谢

【问题讨论】:

  • 什么时候出现错误?
  • 我在尝试上传图片时遇到错误。图像中的进度条在 CMS 中加载到 99% 然后停止并给我这个错误。
  • 当我使用 new UploadField('Images', 'Images');而不是 SortableUploadField!

标签: silverstripe


【解决方案1】:

现在它对我有用:

我发现 /framework/filesystem/GD.php 需要超过 64MB。因此我不得不设置 php_value memory_limit 128M

【讨论】:

  • 很高兴您可以使用它,请接受此答案以便结束此问题。
【解决方案2】:

您在此处设置 UploadField 的最大上传文件大小。 代码似乎正确。

但是我的猜测是你只在这里设置它,但你的服务器仍然只允许 2MB 有关如何更改 webserver/php 允许的上传大小,请参阅此答案 https://stackoverflow.com/a/3263496/1119263

【讨论】:

  • 服务器允许超过 2MB。我发现上传“到大图像”后,无法再进入 CMS 菜单“文件”。通过单击“文件”,我收到相同的错误消息:内部服务器错误。上传图片时我没有调整图片大小可能是个问题吗?
【解决方案3】:
$uploadField = new UploadField(
    $name = 'AttachedImages',
    $title = 'Attached Images'
);
$uploadField->getValidator()->setAllowedMaxFileSize( 4 * 1024 * 1024 );

【讨论】:

  • 这对我不起作用。当进度条完成时,我收到内部服务器错误
  • 如果所有其他参数都正确,它确实有效。在这个问题中显然不是这种情况。尤其明显,因为您的代码已经在问题中。
  • 问题与 SilverStripe 有关,与其他参数无关。在询问 CMS 设置之前检查 PHP 设置尤其明显。
  • 所以如果有人问你为什么.exe没有运行那么会告诉他如何修复命中而不是问他之前是在mac还是linux上?
  • 是的。我的错是我猜人们在技术上很擅长解决直接问题。
猜你喜欢
  • 1970-01-01
  • 2013-10-26
  • 2014-06-22
  • 2020-06-08
  • 2011-08-26
  • 2015-04-23
  • 1970-01-01
  • 2016-02-15
  • 2011-08-06
相关资源
最近更新 更多