Magento 1.9-没有上传图片按钮


16

我正在建立我的第一家Magento商店,但发现无法在产品中添加图片。它是测试站点,因此我正在学习Magento中的功能。

我几乎尝试了所有内容-重新安装了Flash,shockwave,浏览器,更新的原型...不走运。我尝试了5种浏览器。

我可以做些其他的事情来解决它吗?

这是打印屏幕


1
Opera已经丢失了Flash ...希望Magento 2比要求的要聪明。
Fiasco Labs 2015年

Answers:


20

在扩展并为管理区域创建自己的主题时,我发现了此问题。

这些按钮使用FLASH。

因此,如果您的浏览器不支持Flash,则它们不会出现。

确保该app/design/adminhtml/default/default/template/media文件夹存在,并且其中有2个文件。

  • editor.phtml
  • uploader.phtml

确保该skin/adminhtml/default/default/media文件夹存在,并且其中包含3个文件。

  • flex.swf
  • uploader.swf
  • uploaderSingle.swf

如果您创建了自己的主题(即主题:“ mytheme”和程序包“ mypackage”),请确保以上内容适用于:

  • app/design/adminhtml/mytheme/mypackage/template/media
  • skin/adminhtml/mytheme/mypackage/media

我希望这有帮助。


3
非常感谢。如果您使用的是git并且正在将行media /而不是/ media写入.gitignore文件,则会发生这种情况。
Magenta小姐

1
请注意,此答案已过时。出于安全原因,您不应再在媒体文件夹中拥有.swf文件。
Marcel

更新-此修复程序仅适用于2.0之前的版本。
Jacob Gabriel


4

有趣的是,我在目前正在工作的项目中遇到了同样的问题,但是所有文件都就位(谈论Magento版本1.14.1.0)。

首先我以为问题不在这里''

var maxUploadFileSizeInBytes = <?php echo $this->getDataMaxSizeInBytes() ?>;

在几个地方都可以找到,例如

  • “ app / design / adminhtml / default / default / template / media / uploader.phtml”
  • “ app / design / adminhtml / default / default / template / cms / browser / content / uploader.phtml”

但这导致了新的错误,因此最终的解决方案是像这样更改php.ini:

upload_max_filesize = 100 M 

upload_max_filesize = 100M

4

我尝试了所有解决方案,但仍然无法解决此问题。

得到了它解决了通过下载的Adobe Flash的浏览器(Firefox)为我工作。


它用于产品图像,但不适用于CMS页面编辑器。
biplab溃败

3

编辑你的 /app/design/adminhtml/default/default/template/media/uploader.phtml

var maxUploadFileSizeInBytes = '<?php echo $this->getDataMaxSizeInBytes() ?>';
var maxUploadFileSize = '<?php echo $this->getDataMaxSize() ?>';

用。。。来代替

var maxUploadFileSizeInBytes = '128M';
var maxUploadFileSize = '128M';

这对显示按钮有什么帮助?它看起来更像是缺少上传程序文件或Flash无法正常工作
Sander Mangel

这里的问题不是从“ getDataMaxSizeInBytes()”获取大小。因此,当我手动给定尺寸时,按钮会自动显示。
Dinoop副总裁

2

有三种想法:-HHVM(配置错误)

复制

/app/code/core/Mage/Adminhtml/Block/Media/Uploader.php

/app/code/local/Mage/Adminhtml/Block/Media/Uploader.php

并替换:

public function getPostMaxSize()
{
    return ini_get('post_max_size');
}

public function getUploadMaxSize()
{
    return ini_get('upload_max_filesize');
}

至:

public function getPostMaxSize()
{
    $post_max_size = ini_get('post_max_size');
    return $post_max_size ? $post_max_size : ini_get('hhvm.server.max_post_size');
}

public function getUploadMaxSize()
{
    $upload_max_filesize = ini_get('upload_max_filesize');
    return $upload_max_filesize ? $upload_max_filesize : ini_get('hhvm.server.upload.upload_max_file_size');
}

这是完全解决问题的最终解决方案。


2

我遇到了同样的问题,并按以下方式解决了问题:在Chrome中输入以下网址

chrome:// settings / content

您将看到一个弹出窗口,向下滚动直到看到Flash,然后选择允许网站运行Flash

问候。


1

要修复Magento CE 1.9.2.1中未加载的产品图片上传按钮,我必须'maxUploadFileSizeInBytes值中添加字符。

更改

var maxUploadFileSizeInBytes = <?php echo $this->getDataMaxSizeInBytes() ?>;

var maxUploadFileSizeInBytes = '<?php echo $this->getDataMaxSizeInBytes() ?>';

app/design/adminhtml/default/default/template/media/uploader.phtml

1

如果您使用的是Git,请确保您的.gitignore文件不会无意中排除Shockwave Flash文件。

我的.gitignore行如下:

*.sw?

本来应该排除* .swp,*。swo等,但当时我还没有考虑过* .swf。

所以我将其更改为:

*.sw?
!*.swf

1

我也遇到了这个问题,这是因为我想从我的local.xml中控制前台和管理员的不安全的基本URL

因此,如果您不安全的基本URL是由local.xml控制的,则可能会遇到此问题。我还没有时间为此进行修复

希望这可以帮助!



1

我遇到过同样的问题。以下是为我解决此问题的原因:

在app / design / adminhtml / default / default / template / media / uploader.phtml中

将getUploaderUrl('media / uploader.swf')?>替换为uploader.swf的确切路径https:///skin/adminhtml/default/default/media/uploader.swf


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.