Предварительный просмотр загруженных векторных файлов - PullRequest
0 голосов
/ 26 февраля 2020

На моем сайте в панели учетной записи пользователя я создал облачное пространство, в которое вы можете загружать векторные файлы.

Я создал код, который при попытке загрузить векторный файл имеет расширение .ai заменено на .svg. Я также пытался сделать это с форматами .pdf, .eps и .cdr.

Моя цель - показать предварительный просмотр векторного файла, загруженного клиентом на его странице. Это мой код, но он не работает:

<?php

if (isset($_POST['submit'])){

if(Mage::getSingleton('customer/session')->isLoggedIn()) {

        $customer = Mage::getSingleton('customer/session')->getCustomer();
        $_inchoo_Heared4us = $_FILES['pdfupload']['name'];

        //CODICE PER SALVATAGGIO LOGHI CLIENTE NELLA SUA CARTELLA
        if($_inchoo_Heared4us)
        {
            $customerName = trim($customer->getName());

            $countTest = 0;

            $photos = array();
            foreach ($_FILES['pdfupload']['name'] as $key => $image) {

            $countTest++;

            if (empty($image)) {
                continue;
            }

            $fileName = '';

            if (isset($_FILES['pdfupload']['name'][$key]) && $_FILES['pdfupload']['name'][$key] != '') {

            try {

            $fileName = preg_replace('"\.ai$"', '.svg', $_FILES['pdfupload']['name'][$key]);

            array_push($photos, $fileName);
            $uploader = new Varien_File_Uploader(
            array(
                'name' => $_FILES['pdfupload']['name'][$key],
                'type' => $_FILES['pdfupload']['type'][$key],
                'tmp_name' => $_FILES['pdfupload']['tmp_name'][$key],
                'error' => $_FILES['pdfupload']['error'][$key],
                'size' => $_FILES['pdfupload']['size'][$key]
                    )
            );
            $uploader->setAllowedExtensions(array('ai','pdf','eps','svg','cdr','jpg','jpeg','png','tiff','tif','psd'));
            $uploader->setAllowRenameFiles(false);
            $uploader->setFilesDispersion(false);
            $path = Mage::getBaseDir().DS.'clienti'.DS.$customerName;
            $pathDB = Mage::getBaseUrl().'clienti'."/".$customerName;
            if(!is_dir($path)){
            mkdir($path, 0777, true);
            }

            $uploader->save($path . DS, $fileName );


            } catch (Exception $e) {
                $error = true;
            }

            }

            }



        }

}
}

?>
<form method="post" action="" enctype="multipart/form-data" id="pdfimage">
    <p><input type="file" name="pdfupload[]" id="pdfupload" multiple="multiple" /></p>
    <p><input type="submit" name="submit" value="Upload" /></p>
</form>



<?php

/*$usmap = $_SERVER["DOCUMENT_ROOT"].'/higiftit/clienti/John Doe/logo-ai.svg';
$pathSave = $_SERVER["DOCUMENT_ROOT"].'/higiftit/clienti/John Doe/';

        if(file_exists($usmap)){
            $im = new Imagick();
            $svg = file_get_contents($usmap);
            $im->readImageBlob($svg);
            $im->setImageFormat("jpg");
            $im->writeImage($pathSave.'testConv.jpg');
            $im->clear();
            $im->destroy();
        }*/
?>



<img src="<?php echo Mage::getBaseUrl().'clienti'."/".'John Doe'."/".'logo-ai.svg'; ?>" />

<!--<object type="application/postscript" data="<?php //echo Mage::getBaseUrl().'clienti'."/".'John Doe'."/".'logo-ai.ai'; ?>"></object>-->

<!--<iframe src="<?php //echo Mage::getBaseUrl().'clienti'."/".'John Doe'."/".'logo-ai.svg'; ?>" height="200px"></iframe>-->

Я также попробовал imagick, но не могу преобразовать векторные файлы в imagick, поскольку мой сервер не позволяет использовать ghostscript.

Я также попробовал теги iframe и object для предварительного просмотра векторных файлов, но он не работает и не показывает предварительный просмотр

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...