Android 开发移动应用程序时将文件上载到cdn的最佳实践?

Android 开发移动应用程序时将文件上载到cdn的最佳实践?,android,azure,mobile,azure-mobile-services,azure-storage-blobs,Android,Azure,Mobile,Azure Mobile Services,Azure Storage Blobs,我正在制作移动应用程序。我使用Azure移动服务作为构建移动应用程序的后端服务。在移动应用程序中,我必须将图像上传到azure云存储。我可以用两种方法来做 从客户端应用程序上载文件 通过将文件的字节数组或base64字符串发送到服务器进行上传 服务器将向他们上传该文件 我认为第一种方法很好,因为它直接上传文件,而不是去服务器,然后再推到azure存储 我不知道哪种方法好。任何帮助都是值得的正如David提到的,问题有点广泛,与CDN无关,但在Azure移动服务的范围内,我推荐选项#1,因为它提供

我正在制作移动应用程序。我使用Azure移动服务作为构建移动应用程序的后端服务。在移动应用程序中,我必须将图像上传到azure云存储。我可以用两种方法来做

  • 从客户端应用程序上载文件

  • 通过将文件的字节数组或base64字符串发送到服务器进行上传 服务器将向他们上传该文件

  • 我认为第一种方法很好,因为它直接上传文件,而不是去服务器,然后再推到azure存储


    我不知道哪种方法好。任何帮助都是值得的

    正如David提到的,问题有点广泛,与CDN无关,但在Azure移动服务的范围内,我推荐选项#1,因为它提供了一些好处,包括(但不限于):

    • 将移动服务的负载降至最低,从而避免了扩展服务以跟上文件管理的需要
    • 能够使用存储API来处理来自客户端的blob管理,并避免在您的服务中实施和维护类似的API(包括支持恢复上传/下载以及移动应用程序的其他优秀功能)
    • 能够(更轻松地)使用Azure Storage提供的不同地理位置,让客户端使用最近的位置上载和下载文件
    而且这个名单还在继续

    建议仍然是从您的服务中公开API,以允许客户端请求SAS令牌,从而提供对存储的经过身份验证的访问。此方法类似于移动应用程序文件管理SDK所使用的方法


    我希望这有帮助

    我使用Cloudinary是一种用于web或移动开发的图像后端,将图像上载到CDN非常容易。

    您可以使用第三方服务,如Filestack,处理文件的上载和存储以及CDN交付

    您可以通过以下方式将文件直接上载到Azure:


    然后,上传的每个文件都会生成一个CDN url,您可以使用该url在应用程序中传递图像。不确定您是否已经研究过要使用什么CDN,但Filestack与Fastly合作,因此您拥有他们的所有功能,这是最好的功能之一

    您的标题询问了CDN,但您的问题根本没有提到CDN。另外:不清楚您在第1项中指的是什么:您是否询问您的客户端应用程序直接连接到Azure存储并上传到Azure存储?不管怎样:问哪种方法是“最好的”是一个离题的问题,因为它只会得到你的意见。而且这个问题,就目前而言,是非常广泛的。在这个问题结束之前,请将您的问题编辑为一个特定的编程问题(并澄清我提出的问题)。@DavidMakogon,如果您阅读了我在这里提到的问题azure cloud storage,即CDN:),这远远不是“最佳实践”-这是对第三方服务的推广。而且是基于意见的。而且没有回答这个问题。
    filepicker.pickAndStore(
      {
        mimetype:"image/*",
        multiple: true
      },
      {
        location:"azure"
      },
      function(Blobs){
        console.log(JSON.stringify(Blobs));
      },
      function(error){
    //  console.log(JSON.stringify(error)); - print errors to console
      },
      function(progress){
        console.log(JSON.stringify(progress));
      }
    );