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 上传界面的支持需前端配合传递该参数,此修改仅服务端生效。

通过此修改,即可灵活控制图片上传到指定相册。

兰空图床配置上传相册
https://www.daitcc.top/posts/兰空图床配置上传相册/
作者
Dait
发布于
2023-12-04
许可协议
CC BY-NC-SA 4.0
如果这篇文章对你有帮助或启发,可以请作者喝杯咖啡 ☕️