我正在使用 Retrofit 2.0.0-beta2,我需要从我的 PHP 服务器下载一些文件。我的第一种方法是直接使用其相对服务器路径中的 GET 方法,我得到了正确的字节。
现在我尝试了一些更安全的方法,可以根据一些检查将文件传递给我。它会自动从数据库中获取文件路径并检查用户会话是否正确。这适用于浏览器测试,Chrome PC 和 Android 的 Chrome 都正确下载了一些照片。
我正在使用 X-Sendfile 标头提供文件,如下所示:
header("X-Sendfile: $file_name");
header("Content-type: image/jpeg");
header('Content-Disposition: attachment; filename="' . basename($file_name) . '"');
Android 端调用如下所示:
@Streaming
@GET("/card/download")
Call<ResponseBody> getCard(@Query("filename") String filename);
打开文件时我得到的只是来自服务器的回显文本响应。有什么办法可以接收“正确”的文件?