无需下载即可获取文件大小

时间:2018-12-31 12:48:36

标签: dart flutter

如何从URL(在Flutter中)获取文件大小?我可以使用以下方式获取它:

http.Response response = await http.get(url);
print(response.contentLength);

但这会下载整个文件。是否可以在不完全下载的情况下获取文件大小?谢谢

2 个答案:

答案 0 :(得分:1)

找到答案:HEAD请求。

http.Response r = await http.head(url);
r.headers["content-length"]

注意:r.contentLength;直接不起作用。

答案 1 :(得分:0)

在下载文件之前,我尝试过上述有关 firebase存储文件下载大小的答案。但是我发现 http.head 不包含 content-length 。所以我尝试了 http.get 方法,并且看到 content-length 包含在标题中。 我认为这应该是正确的答案。

http.Response r = await http.get(url);
final file_size = r.headers["content-length"];