You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从https://subdomain.laravel.com/上传文件至https://assets.laravel.com/

Laravel项目跨域名上传文件至独立资源域名配置方案

一、配置文件系统磁盘

修改项目根目录下的config/filesystems.php,添加或完善assets磁盘配置:

'assets' => [
    'driver' => 'local',
    'root' => public_path('assets/images'), // 本地存储的根目录,需与资源域名指向路径匹配
    'url' => 'https://assets.laravel.com/', // 资源访问的公共域名
    'visibility' => 'public',
],

注意:如果assets.laravel.com部署在独立服务器,不能使用local驱动,需替换为sftp/ftp或云存储驱动(如AWS S3),并补充对应连接配置(主机地址、账号密码等)。只有当资源域名与项目域名指向同一服务器,且assets.laravel.com的根目录映射到上述root配置的路径时,local驱动才适用。

二、实现文件上传逻辑

在控制器中通过Laravel的文件存储门面,将文件上传到assets磁盘:

use Illuminate\Support\Facades\Storage;
use Illuminate\Http\Request;

public function upload(Request $request)
{
    // 验证上传文件
    $request->validate([
        'file' => 'required|image|max:2048', // 可根据业务调整验证规则
    ]);

    if ($request->hasFile('file') && $request->file('file')->isValid()) {
        // 存储文件到assets磁盘的uploads目录下
        $filePath = $request->file('file')->store('uploads', 'assets');
        // 获取文件的公共访问URL
        $accessUrl = Storage::disk('assets')->url($filePath);
        
        return response()->json(['success' => true, 'url' => $accessUrl]);
    }

    return response()->json(['success' => false, 'msg' => '文件上传失败'], 400);
}

三、验证配置有效性

上传文件后,可通过以下方式确认:

  • 检查root配置的目录下是否生成了上传的文件
  • 访问返回的accessUrl,确认文件能正常打开

内容的提问来源于stack exchange,提问作者Emiliano Amaral

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 23:44:57