.NET MAUI:如何按文件名从相册读取图片为流
问题:按文件名从相册读取图片转Stream,及Base64存储是否合理
场景说明
我正在开发一款应用,功能是通过相机拍摄图片并存储,最终将这些图片上传至服务器。目前卡在按文件名从相册读取图片并转换为Stream的功能上,查了资料没找到确切方案,需要针对特定平台实现该功能。
当前代码
private async Task UploadSurveryFiles() { var assembly = GetType().GetTypeInfo().Assembly; var files = new string[1] { "IMG_20230511_201420.jpg" }; //TODO: delete foreach (var file in files) { //调试显示图片已加载 var imageSource = ImageSource.FromFile(file); //此处需将imageSource转换为Stream if (!imageSource.IsEmpty) continue; var isImageUploaded = await UploadFileToAWS3(file, stream); //TODO: 更新数据库中图片的上传标记 } } private async Task<bool> UploadFileToAWS3(string uploadedFileName, Stream stream) { var selfSignedUrl = await GetSelfSignedUrlForImageUpload(uploadedFileName); var result = await UploadFile(selfSignedUrl.UploadURL, new StreamContent(stream)); return result; } private async Task<SelfSignedUrlForImageUploadResponse> GetSelfSignedUrlForImageUpload(string fileName) { var endpoint = $"{settings.FileUploadURL}{entity.Project.Id}/{fileName}"; var response = await SendGetRequestAsync<SelfSignedUrlForImageUploadResponse>(endpoint); return response; }
额外疑问
我还有个想法:把拍摄后的图片以Base64格式存储到应用数据目录,这算不算良好的开发实践?
内容的提问来源于stack exchange,提问作者Wasyster
相关产品推荐
相关产品推荐

