我的控制器文件在 api/v1/controller/
class ProfileController extends ActiveController
{
public $modelClass = 'app\models\Profile';
public function behaviors()
{
return [
[
'class' => 'yii\filters\ContentNegotiator',
'only' =>
['index', 'view', 'createnew','update','search'],
'formats' =>
['application/json' => Response::FORMAT_JSON,],
],
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'index' => ['get'],
'view' => ['get'],
'createnew' => ['post'],
'update' => ['put'],
'delete' => ['delete'],
'deleteall' => ['post'],
'search' => ['get']
],
]
];
}
public function actionCreatenew() {
$model = new Profile();
$model->load(Yii::$app->request->post());
$model->asset = UploadedFile::getInstance($model, 'asset');
$name = $model->user_id;
if($model->asset) {
$model->asset->saveAs('uploads/'.$name.'.
'.$model->asset->extension);
$model->asset = $model->asset->name.'.'.
$model->asset->extension;
}
if($model->save()) {
echo json_encode(array('status'=>"Success",
'data'=>$model->attributes),JSON_PRETTY_PRINT);
} else {
echo json_encode(array('status'=>"Failure",
'error_code'=>400,
'errors'=>$model->errors),JSON_PRETTY_PRINT);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试从 Postman 访问它时,例如:POST http://localhost/myapp/api/v1/profiles
我得到无效参数 – yii\base\InvalidParamException
响应内容不能是数组。
什么问题??帮助将不胜感激!!谢谢
您可以直接在 Yii2 控制器/动作中使用带有表单数据编码的 HTTP POST 在 Yii2 中轻松接收单个/多个上传的文件。
使用此代码:
$uploads = UploadedFile::getInstancesByName("upfile");
if (empty($uploads)){
return "Must upload at least 1 file in upfile form-data POST";
}
// $uploads now contains 1 or more UploadedFile instances
$savedfiles = [];
foreach ($uploads as $file){
$path = //Generate your save file path here;
$file->saveAs($path); //Your uploaded file is saved, you can process it further from here
}
Run Code Online (Sandbox Code Playgroud)
如果您使用 Postman API 客户端来测试 API 的工作方式,您可以将上传端点配置为这样用于多文件上传:
注意:upfile[]方括号很重要!Postman 很乐意让您在一个插槽中选择多个文件进行上传,但这实际上不起作用。按照屏幕截图中显示的方式执行此操作,通过该UploadedFile机制将一组文件提供给 Yii2 操作。这大致相当于标准的 PHP$_FILES超全局变量,但更容易处理。
单个文件可以带或不带[]键名后的方括号上传。当然,您可以upfile根据约定命名任何您喜欢的名称。
| 归档时间: |
|
| 查看次数: |
9408 次 |
| 最近记录: |