1. JS SDK 里新建 AVFile 是能带上 mime type 的,然而 Android SDK 没有,也没有获取 mime type 的方法
  2. AVFile 的 getThumbnailUrl 使用的是七牛的 imageView 滤镜,现在已经有 imageView2 了,有了更多不同的参数,建议升级

根据 avoscloud-sdk-v3.13.4.jar 里的源代码:

public static String getMimeType(String url) {
    String type = defaultMimeType;
    String extension = MimeTypeMap.getFileExtensionFromUrl(url);
    if(extension != null) {
        MimeTypeMap mime = MimeTypeMap.getSingleton();
        type = mime.getMimeTypeFromExtension(extension);
    }

    if(type == null) {
        type = defaultMimeType;
    }

    return type;
}

这只是一个静态方法,作用仅仅是简单地是根据 url 里的扩展名从 android.webkit.MimeTypeMap 查表返回 MIME,和 JS SDK 里 AV.File 构造函数上的 mimeType,或者说 _File 表的 metaData 字段里的 "mime_type" 没有半毛线关系…

比如

new AV.File("12345678", buffer, "image/jpeg").save()

这时得到的就是一个不带扩展名的七牛 CDN 地址,就没得玩儿了~

我发现你好像完全没看懂我在说什么…

把这个贴地址丢给工程师吧。

抱歉,有些忙没有细看代码。
1、Android 现在没有获取 mime_type 这个字段的方法,也没有自己存入 mime_type 的构造方法。
2、JS SDK 会将 mime_type 存储到 metaData 这个字段中,可以通过 metaData 来获取其中的 mime_type。

现在两个平台的代码设计不统一,我们正在内部讨论统一一致性,讨论结果还未定。

关于你的需求,在 Android 平台中可以先将 mime_type 存入 metaData 中,取值时从 metaData 这个字段中获取。