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

.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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 22:03:36