簡體   English   中英

從自定義管理模塊在Magento中無法進行文件上傳

[英]File Upload not working in Magento from custom admin module

我在magento中創建了一個自定義管理模塊。 該模塊具有一個表單,該表單將帖子提交給處理文件上傳的控制器。

提交表單時出現以下錯誤:

a:5:{i:0;s:22:"File was not uploaded.";i:1;s:1030:"#0 C:\wamp\www\magento-PhpDevGuide-packt\app\code\local\Endosoft\Categoryupdate\controllers\Adminhtml\CategoryupdateController.php(11): Varien_File_Uploader->__construct('uploadcsv')
#1 C:\wamp\www\magento-PhpDevGuide-packt\app\code\core\Mage\Core\Controller\Varien\Action.php(418): Endosoft_Categoryupdate_Adminhtml_CategoryupdateController->formPostAction()
#2 C:\wamp\www\magento-PhpDevGuide-packt\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('formpost')
#3 C:\wamp\www\magento-PhpDevGuide-packt\app\code\core\Mage\Core\Controller\Varien\Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#4 C:\wamp\www\magento-PhpDevGuide-packt\app\code\core\Mage\Core\Model\App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#5 C:\wamp\www\magento-PhpDevGuide-packt\app\Mage.php(684): Mage_Core_Model_App->run(Array)
#6 C:\wamp\www\magento-PhpDevGuide-packt\index.php(87): Mage::run('', 'store')
#7 {main}";s:3:"url";s:78:"/index.php/admin/categoryupdate/formpost/key/d91e6825136ce2206d7c72bbd1b7af34/";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:5:"admin";}

形式如下:

<?php $url = Mage::helper("adminhtml")->getUrl('adminhtml/categoryupdate/formpost'); ?>
<h4>Upload Your CSV</h4>
<form action="<?php echo $url ?>" method="post" enctype="multipart/form-data">
    <p><input name="form_key" type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" /></p>
    <p><input type="file" name="csvupload" /></p>
    <p><input type="submit" name="submit" value="Submit" /></p>
</form>

這是控制器方法:

public function formPostAction() {
  $uploader = new Varien_File_Uploader('uploadcsv');
  $uploader->setAllowedExtensions(array('json'));
  $uploader->setAllowRenameFiles(false);
  $uploader->setFilesDispersion(false);
  $path = Mage::getBaseDir('media');
  $fileName = $_FILES['uploadcsv']['name'];
  $uploader->save($path, $fileName);

  $this->loadLayout();
  $this->renderLayout();
}

我不明白為什么文件沒有上傳。

有人可以澄清出什么問題了嗎?

附加信息:

  • 我不是使用magento表單容器和表單,而是通過從布局中調用phtml文件來使用自己的表單。

我看到您的文件輸入如下所示:

<input type="file" name="csvupload" />

注意名稱csvupload
但是在formpostAction您正在嘗試讀取uploadcsv字段。
確保您提交的內容與您處理的內容匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM