[英]wordpress rest api Authorization
hi i use this code for upload image in wordpress with api嗨,我使用此代码在带有 api 的 wordpress 中上传图像
my code :我的代码:
<?php
$file = $_FILES["RESULT_FileUpload-6"]["tmp_name"];
$url = 'http://tst.com/wp-json/wp/v2/media/';
$ch = curl_init();
$username = 'username';
$password = '123456';
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $file );
curl_setopt( $ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Content-Disposition: form-data; filename="'.$_FILES["RESULT_FileUpload-6"]["name"].'"',
'Authorization: Basic ' . base64_encode( $username . ':' . $password ),
] );
$result = curl_exec( $ch );
curl_close( $ch );
print_r( json_decode( $result ) );
?>
but when i use this code show error 401 "rest_cannot_create"但是当我使用此代码时显示错误 401“rest_cannot_create”
i use username and password correct (username and password for wordpress admin panel)我使用正确的用户名和密码(wordpress 管理面板的用户名和密码)
Is there another way for Authorization rest api wordpress??还有另一种授权rest api wordpress的方法吗??
尝试将其添加到htaccess文件中:
RewriteRule ^index\.php$ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
I have to upload pdf file.我必须上传pdf文件。 This will help you in any of you file uploading to custom directories这将帮助您将任何文件上传到自定义目录
public function uploadFiles(WP_REST_Request $request)
{
if(checkloggedinuser()){
if ( ($request->get_file_params('file'))) {
$upload_dir = wp_upload_dir();
$user_id = checkloggedinuser();
$timestamp = time();
if ( ! empty( $upload_dir['basedir'] ) ) {
$user_dirname = $upload_dir['basedir'].'/customize-files';
if ( ! file_exists( $user_dirname ) ) {
wp_mkdir_p( $user_dirname );
}
$filename_maker = $user_id.'_'.$timestamp.'_'.$_FILES['file']['name'];
$filename = wp_unique_filename( $user_dirname, $filename_maker );
// return $filename_maker;
$check = move_uploaded_file($_FILES['file']['tmp_name'], $user_dirname .'/'. $filename);
// save into database $upload_dir['baseurl'].'/product-images/'.$filename;
if($check){
$path = $upload_dir['baseurl'].'/customize-files/'.$filename_maker;
return array(
'success' => true,
'responsecode' => 200,
"message" => "File Uploaded Successfully",
"data" => [
"path" => $path,
],
);
}
}
}else{
return array(
'success' => false,
'responsecode' => 403,
"message" => "Please Provide File",
"data" => [],
);
}
}else{
return array(
'success' => false,
'responsecode' => 403,
"message" => "Please Logged In to get Data",
"data" => [],
);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.