编辑 app/src/main/java/com/android/example/cameraxbasic/oss/OSSConfig.kt 文件:
object OSSConfig {
// 阿里云OSS配置 - 请根据实际情况修改
const val ENDPOINT = "https://oss-cn-hangzhou.aliyuncs.com" // 替换为你的OSS endpoint
const val BUCKET_NAME = "your-bucket-name" // 替换为你的bucket名称
// STS服务配置
const val STS_BASE_URL = "https://your-api-domain.com" // 替换为你的API域名
const val STS_ROLE = "oss_normal_op"
// 上传文件夹路径
const val UPLOAD_FOLDER = "camera-photos/"
}ENDPOINT: 你的OSS访问域名,格式如https://oss-cn-hangzhou.aliyuncs.comBUCKET_NAME: 你的OSS存储桶名称
STS_BASE_URL: 你的后端API域名STS_ROLE: STS角色,根据API文档应该是oss_normal_op
UPLOAD_FOLDER: 图片在OSS中的存储路径前缀
如果你的API使用HTTP而不是HTTPS,需要在 app/src/main/AndroidManifest.xml 的 <application> 标签中添加:
<application
android:usesCleartextTraffic="true"
...>- 确保你的STS服务正常运行
- 确保OSS bucket已创建并配置正确的权限
- 运行应用并拍照测试上传功能
确保已添加网络权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />- 检查API地址是否正确
- 检查网络连接
- 查看日志中的错误信息
- 检查OSS配置是否正确
- 检查STS凭证是否有效
- 检查bucket权限设置
应用会在Logcat中输出详细的上传日志,标签为:
OSSUploadService: OSS上传相关日志CameraXBasic: 相机和拍照相关日志
可以通过以下命令查看日志:
adb logcat | grep -E "(OSSUploadService|CameraXBasic)"