【问题标题】:Best way of Image Uploading to server on Android? (MVVM, Android Arcitecture Components)在Android上将图像上传到服务器的最佳方式? (MVVM,Android 架构组件)
【发布时间】:2022-01-25 14:30:37
【问题描述】:

使用 kotlin 将图像从设备存储上传到 android 中的服务器的最佳做法是什么? 我目前正在构建一个社交媒体网络,并且我正在使用带有突变的 Apollo Client 让用户将内容上传到数据库。 我希望图像从存储上传到我的服务器(托管服务提供商是 Hostinger),并且图像的 url 与名称、标题等其他数据一起存储在我的 MySQL 数据库中。 第二部分(存储到我的数据库的链接)工作正常,我使用 GraphQL 突变来完成。 但我不确定第一部分的最佳做法是什么(将图像从存储上传到服务器)。

到目前为止,我听到了很多事情: PHP脚本, 改造2, 好的Http。 但其中一些文章或教程已有 5 年以上的历史了。

目前有什么好的方法,有什么好的库吗?

【问题讨论】:

  • Activity UI Action => ViewModel => WorkManager => Network Request to Upload Image。 (模式可以根据需要而有所不同。)
  • Activity UI -> VM or Presenter -> UseCase -> Repository -> NetworkDatasource 和 DatabaseDatasource(Repository 模式包含获取数据和保存数据的流逻辑)

标签: android kotlin graphql retrofit2 okhttp


【解决方案1】:
  1. 如果是调整图像大小的选项
  2. 使用zelory library 缩小图像大小
  3. 将图像文件转换为Base64(它将任何文件转换为编码字符串)
  4. 您可以使用Retrofit2,OkHttp上传您的Base64字符串文件图像,Google使用Moshi库在this codelab中解析JSON数据

(使用协程进行图像处理。您不应该阻止主要威胁。)

【讨论】:

    猜你喜欢
    • 2013-10-11
    • 2016-07-20
    • 2013-12-17
    • 2014-03-21
    • 2014-03-24
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多