Deaktivieren Sie den Flash-Uploader in Magento

7

Gibt es zuverlässige Möglichkeiten, den Flash-Uploader zu deaktivieren und den "klassischen" Uploader zu verwenden? Ist das überhaupt ohne Erweiterung möglich?

Normalerweise versuche ich nur, ein Bild über den Administrator hochzuladen - beide /varund /media(und alle Unterordner) sind auf 777 eingestellt. Die Antwort, die ich zurück bekomme, lautet:

{"error": "Datei wurde nicht hochgeladen.", "errorcode": 666}

Francis Kim
quelle

Antworten:

8

Erläuterung

Dieser Fehler kommt von Varien_File_Uploader::__construct()inlib/Varien/File/Uploader.php

Hier sind die wichtigen Teile

<?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;
        }
    }
}

Wenn Sie auf den Baum zurückblicken, sehen Sie, dass dies heißt

$uploader = new Mage_Core_Model_File_Uploader('image');

Was von der Varien-Klasse erweitert wird, so dass in diesem Fall Varien_File_Uploader::_setUploadFileId($fileId)das $this->_fileArray basierend auf dem Schlüssel erstellt imagewird.

Das Problem ist nun, warum es $_FILES['image']['tmp_name']leer ist.

Ich habe das 'error'Feld überprüft , indem ich es vorübergehend durch ersetzt habethrow new Exception('File was not uploaded. ' . $this->_file['error'], $code);

Ich habe 7, was Failed to write file to disk. Introduced in PHP 5.1.0.bedeutet, dass es sich um ein Berechtigungsproblem handelt.

Lösung

Führen Sie ein phpinfo()zu prüfen , wo Ihr upload_tmp_dirsteht auf und stellen Sie sicher , es ist beschreibbar.

In meinem Fall hatte ich keinen Dateibereich im /tmpVerzeichnis meines Servers.

Steve Robbins
quelle
2

Ich habe immer den No Flash Image Uploader verwendet, der problemlos mit CE v1.4 - v1.7 funktioniert hat. Das Modul ist nicht mehr über Magento Connect verfügbar, obwohl sein Quellcode aktiv verwaltet wird (Stand Oktober 2016) und auf GitHub verfügbar ist .

Sie können den Erweiterungscode abrufen und bei Bedarf einfach den benötigten Teil extrahieren.

Schoko-Klo
quelle
Dieser Artikel MageBayVaporated und scheint nicht mehr verfügbar zu sein.
Fiasco Labs
Ich habe bereits installiert. Es funktioniert gut beim Hochladen von Produktbildern, aber beim Herunterladen von herunterladbaren Produktdateien funktioniert es nicht. Haben Sie eine andere alternative Lösung, um ohne Flash auf der herunterladbaren Produktseite herunterladbaren Abschnitt zu erreichen
senthil
0

Ich hatte das gleiche, aber ich hatte ein Update von Windows. Computer neu gestartet und alles hat wieder funktioniert

Peter Vis
quelle