Я использую React и Redux с Yii 1.1, и я пытаюсь отправить FormData
от клиента до серверной части:
const data = new FormData();
data.append("title", this.state.title);
data.append("file", this.state.file[0]);
createDownloadableForm(data);
Это является multipart/form-data
, Я уже проверил, что файлы отправляются с помощью этот предложение ответа. Я мог видеть title
а также file
, Проблема в серверной части Yii 1.1, где я не могу найти подсказку, как читать эту информацию.
public function actionCreate()
{
$request = \Yii::app()->request;
// ???
}
Я попытался выйти из возможных способов, которые я мог бы подумать, чтобы увидеть, получено ли что-нибудь, но все оказалось null
или пустые массивы.
\Yii::log(json_encode($request)); // <~ nothing about what is coming, even if it is a simple JSON request, it does not show it like this.
\Yii::log(json_encode($_FILES or $_POST)); // <~ []
\Yii::log(json_encode($_FILES['files'] or $_POST['title'])); // <~ error
\Yii::log(json_encode($request->getPost("title"))); // <~ null
\Yii::log(json_encode($request->getJSON("title"))); // <~ null, but I know, it is not application/json
...
Это действие Redux.
export function createDownloadableForm(data) {
return (dispatch, getState) => {
const { auth: { oauthToken, oauthTokenSecret } } = getState();
return dispatch({
[CALL_API]: {
endpoint: "/api/downloadable-forms",
method: "POST",
headers: {
'xoauthtoken': oauthToken,
'xoauthtokensecret': oauthTokenSecret,
},
body: data,
types: [CREATE_DOWNLOADABLE_FORMS, CREATE_DOWNLOADABLE_FORMS_SUCCESS, CREATE_DOWNLOADABLE_FORMS_FAILURE]
}
})
}
}
Это вообще возможно?
Задача ещё не решена.
Других решений пока нет …