我在尝试通过 URL 从 Laravel 应用程序获取图像时面临挑战。我遇到的具体错误是 403 Forbidden 状态代码。以下是请求的详细信息:
请求网址:https://bpds.thedatech.com/public/upload/all/banner/202403030945WhatsApp-Image-2023-07-07-at-12.39.03-AM.jpeg 请求方式:GET 状态代码:403 禁止 推荐人政策:跨源时严格源
我已验证 URL 是否正确并且图像存在于指定位置。尽管如此,我仍然遇到 403 Forbidden 错误。任何人都可以深入了解为什么会发生此错误,并提出解决该错误的潜在解决方案吗?任何帮助将不胜感激。谢谢!
我正在我的 CORS 中间件中尝试此代码:
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class CorsMiddleware
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
$response = $next($request);
// Add CORS headers
$response->header('Access-Control-Allow-Origin', 'https://datech2bpds.netlify.app');
$response->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
$response->header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
return $response;
}
}
**This is my Controller CODE:**
public function blogs_all_api()
{
$blogs = Blog::join('blog_categories','blog_categories.id','blogs.category_id')
->select('blog_categories.name','blogs.*')
->get();
foreach($blogs as $blog) {
$blog->banner = asset('/public/upload/all/banner/' . $blog->banner);
// $blog->date = formatDate($blog->created_at);
// Assuming $blog->created_at is a date string
$dateString = $blog->created_at;
// Convert to Carbon instance
$carbonDate = \Carbon\Carbon::parse($dateString);
$blog->date=$carbonDate;
}
$response = response()->json([
'code'=>'success',
'blogs'=>$blogs
]);
// Set CORS headers to allow requests from 'https://digitize4life.com'
$response->header('Access-Control-Allow-Origin', 'https://datech2bpds.netlify.app')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
return $response;
}