2017-06-22 209 views
0

當我嘗試通過yii\web\UploadedFile上傳大於100MB的文件時,不會上傳文件。但是,所有字段將成爲空,每個字段均具有驗證錯誤:上傳文件大小inYii2

field cannot be blank

這是我的驗證規則:

public function rules() { 
    return [ 
     [['name_promo_file', 'description_promo_file', 'url_promo_file', 'size_promo_file', 'lang_promo_file'], 'required'], 
     [['date_upload_promo_file'], 'safe'], 
     [['size_promo_file'], 'integer'], 
     [['lang_promo_file'], 'string'], 
     [['name_promo_file', 'description_promo_file', 'url_promo_file'], 'string', 'max' => 255], 
     [['imagePromo'], 'file', 'skipOnEmpty' => false, 'extensions' => 'pdf doc png, jpg, jpeg'] 
    ]; 
}` 

這是我的php.ini設置

upload_max_filesize = 256M 
post_max_size = 256M 
max_execution_time = 60 

哪有我解決這個?

+0

默認2MB將很容易上傳。我已經嘗試上傳100MB,但沒有運氣yii2語法,最大到最大,我能夠上傳15MB,超過15MB導致服務器連接失敗。我建議用Jquery Drag and Drop,效果很好。給你文件上傳進度和所有。 –

+0

我已經測試了它高達200MB,沒有錯,只需在php配置文件中增加max_sizes即可。不知道你的問題發生了什麼,但我相信代碼本身出錯了(在你的控制器或模型中) – Yerke

+0

@Yerke你可以分享你的代碼,我對使用它感興趣。 –

回答

0

我正面臨同樣的問題,但我通過使用kartiks文件輸入小部件和增加php.ini中的大小解決,在這裏,請分開擴展名爲pdf,docx,....請做一個答覆,如果問題解決不了。我們可以解決它。