TypedFile 改造和重命名文件

TypedFile Retrofit and rename file

使用Retrofit 1.9.

TypedFile typedFile = new TypedFile("image/jpg", new File(filePath));

我想重命名上传到服务器的文件。我该怎么做?

看起来你做不到,因为 TypedFile 是 File 的薄包装。 当你post上传时,分片上传中的文件名来自TypedFile.fileName(),它调用了file.getName()。

我能想到两个方案:

  1. 在构造 TypedFile 之前复制/重命名文件

  2. Sub-classTypedFile,添加一个'uploadFileName'成员和'setUploadFileName'方法,然后覆盖fileName()方法到return这个值而不是 file.getName(),如果值不是 null/empty.

我可能会选择#2