321 字
2 分钟
兰空图床配置上传相册
🤖AI 摘要
AI
兰空图床设置上传相册
需求
在使用 API 上传图片时,希望能够通过参数指定目标相册。同时,Web 上传界面也应支持此功能。
解决方法:
修改文件 /app/Services/ImageService.php 第 139 行附近,调整相册分配逻辑。
原代码(仅使用用户默认相册):
// 图片保存至默认相册(若有)if ($albumId = $user->configs->get(UserConfigKey::DefaultAlbum)) { if ($user->albums()->where('id', $albumId)->exists()) { $image->album_id = $albumId; }}修改后代码(优先使用请求参数中的 album_id,否则回退到默认相册):
// 如果请求中包含 album_id,则优先使用if ($request->has('album_id')) { $image->album_id = $request->input('album_id');} else { // 图片保存至默认相册(若有) if ($albumId = $user->configs->get(UserConfigKey::DefaultAlbum)) { if ($user->albums()->where('id', $albumId)->exists()) { $image->album_id = $albumId; } }}使用方式
修改后,在 API 请求的 formdata 中添加 album_id 参数即可指定相册。示例(Flutter/Dart):
formdata = FormData.fromMap({ "file": await MultipartFile.fromFile(path, filename: name), "strategy_id": 1, "album_id": 4, // 指定相册 ID});注意事项
- 确保传递的
album_id存在且属于当前用户,否则可能报错。 - 若请求中未提供
album_id,则仍按用户默认相册设置处理。 - Web 上传界面的支持需前端配合传递该参数,此修改仅服务端生效。
通过此修改,即可灵活控制图片上传到指定相册。
如果这篇文章对你有帮助或启发,可以请作者喝杯咖啡 ☕️