Я хочу загрузить файл с gravity form API
из nuxtJs
с axios
Я успешно сохраняю текстовые данные в гравитационной форме, но не могу сохранить файлы
Nuxt JS
var formData = new FormData()
formData.append('id',this.form.id)
for (let file in this.form.file) {
formData.append(file,this.form.file[file])
}
for (let form in this.form.values) {
formData.append(form,this.form.values[form])
}
this.$axios.post(this.$store.state.apiUrl+'/gf_forms', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
});
Функция Wordpress
header( 'Access-Control-Allow-Origin: *' );
header( 'Access-Control-Allow-Methods: GET, POST' );
header( 'Access-Control-Allow-Credentials: false' );
header( 'Access-Control-Expose-Headers: Link', false );
header("Access-Control-Allow-Headers: *");
$parameters=[];
if (count($_FILES)!=0) {
foreach ($_FILES as $key => $fileData) {
$parameters[$key] = $fileData['name'];
}
}
if (count($_POST)!=0) {
foreach ($_POST as $key => $postData) {
$parameters[$key] = $postData;
}
}
// Local
$consumer_key = '*******************';
$consumer_secret = '*****************************';
$url = site_url() . '/wp-json/gf/v2/forms/'.$parameters['id'].'/submissions';
require( 'class/class-oauth-request.php' );
$oauth = new OAuth_Request( $url, $consumer_key, $consumer_secret, 'POST', array() );
$full_url = $oauth->get_url();
$response = array();
// Send request
$response = wp_remote_request( $full_url,
array('method' => 'POST',
'body' => json_encode($parameters),
'headers' => array('Content-type' => 'application/json')
)
);
return $response;