MagentoでFlashアップローダーを無効にする


7

Flashアップローダーを無効にし、「クラシック」アップローダーを使用する信頼できる方法はありますか?これは拡張機能を使わなくても可能ですか?

私は通常、管理者経由で画像をアップロードしようとしています- /var/media(およびすべてのサブフォルダー)の両方が777に設定されています。返される応答は次のとおりです。

{"エラー": "ファイルはアップロードされませんでした。"、 "エラーコード":666}

回答:


8

説明

このエラーは、から来ているVarien_File_Uploader::__construct()lib/Varien/File/Uploader.php

ここに重要な部分があります

<?php

class Varien_File_Uploader
{
    /**
     * Uploaded file handle (copy of $_FILES[] element)
     *
     * @var array
     * @access protected
     */
    protected $_file;

    const TMP_NAME_EMPTY = 666;

    function __construct($fileId)
    {
        $this->_setUploadFileId($fileId);
        if(!file_exists($this->_file['tmp_name'])) {
            $code = empty($this->_file['tmp_name']) ? self::TMP_NAME_EMPTY : 0;
            throw new Exception('File was not uploaded.', $code);
        } else {
            $this->_fileExists = true;
        }
    }
}

木を振り返ると、これは

$uploader = new Mage_Core_Model_File_Uploader('image');

これはVarienクラスから拡張されたものなので、この場合、はkey に基づいVarien_File_Uploader::_setUploadFileId($fileId)$this->_file配列を構築しimageます。

だから今問題はなぜ$_FILES['image']['tmp_name']空なのか?

'error'一時的に置き換えてフィールドを確認しましたthrow new Exception('File was not uploaded. ' . $this->_file['error'], $code);

私は7を取得しました。これは、それがFailed to write file to disk. Introduced in PHP 5.1.0.権限の問題であることを意味します。

解決

a phpinfo()を実行して、upload_tmp_dir設定されている場所を確認し、書き込み可能であることを確認します。

私の場合、/tmpサーバーのディレクトリのファイル領域が足りませんでした。


2

私は常にNo Flash Image Uploaderを使用してきました。これは問題なくCE v1.4-v1.7で動作しました。モジュールはMagento Connectを介して利用できなくなりましたが、そのソースコードはアクティブに維持され(2016年10月現在)、GitHub利用できます

拡張コードを取得して、本当に必要な場合は必要な部分だけを抽出することができます。


そのアイテムはMageBayVaporatedであり、もはや入手できないようです。
Fiasco Labs

私はすでにインストールしました 商品画像のアップロードではうまく機能していますが、ダウンロード可能な商品ファイルのアップロードでは機能しません。ダウンロード可能な製品ページのダウンロード可能なセクションでフラッシュなしで達成するための他の代替ソリューションはありますか
センティル


0

私は同じでしたが、ウィンドウの更新をしました。コンピュータを再起動し、すべてが再び機能した


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.