2014-11-25 66 views
2

我試圖使用「UploadFile」上傳一個使用POST請求發送的文件(對於來自movile設備的exapmle),但我是無法完成,我按照官方指南的Yii2.0指南的UploadFile教程進行操作,但效果不佳。如何使用Yii2 UploadFile類來收回帶有圖片的POST請求

這是我的控制器:forntend \控制器\上傳

namespace forntend\controllers; 

use Yii; 
use yii\web\Controller; 
use frontend\models\UploadForm; 
use yii\web\UploadedFile; 

    class UploadController extends Controller 
    { 
     public function actionUpload() 
     { 
     $model = new UploadForm(); 
     if (Yii::$app->request->isPost) { 
       $model->file = UploadedFile::getInstance($model, 'file');  
       if ($model->validate()) {     
        $model->file->saveAs('uploads/' . $model->file->baseName . '.' . $model->file->extension); 
       } 
     } 

    return $this->render('upload', ['model' => $model]); 
     } 
    } 

這是我的模型:/前端/模型/ UploadForm

命名空間的應用程序\模型;

use yii\base\Model; 
use yii\web\UploadedFile; 

/** 
* UploadForm is the model behind the upload form. 
*/ 
class UploadForm extends Model 
{ 
    /** 
    * @var UploadedFile|Null file attribute 
    */ 
    public $file; 

    /** 
    * @return array the validation rules. 
    */ 
    public function rules() 
    { 
     return [ 
      [['file'], 'file'], 
     ]; 
    } 
} 

不應該這個工作,當我發送POST請求到...本地主機/ mysite /上傳/上傳?

感謝您的任何幫助!!!!!

回答

2
+1

謝謝!!!!,會給出一個更深層面上來看,它的Yii 1.1,但我會嘗試使用相同的邏輯在警予2.0,並且還使用REST,而不是一個表格,THATKSS !!!!爲你的時間,我會發布我的結果給其他用戶! – 2014-11-25 14:37:31

+0

如果我想使用REST(POST)而不是形式應該是什麼正確的更改,我試圖這樣做,我刪除了視圖,$ this-> render('create',array('model' => $模型));在控制器中,但我錯過了一些概念,並基本一個!但不知道如何修復! – 2014-11-25 14:54:38