2012-02-28 12 views
0

私はこのquesitonがすでに回答されていると思うので、それを購入しても動作していないと思うし、それは非常に整っている... 私はリモートファイルのサイズをアンドロイド。 これまでのところ、私は成功せず、以下の二つのアプローチを試してみました:Javaのリモートファイルのアンドロイドのサイズ

1)

try 
{ 
file = new File("http://50.19.156.118/feed2/storage/download/a_17/Madagascar.3gp"); 
a=(int) myFileBeingUploaded.length(); 
} 
catch (Exception j) 
{ 
} 

2)

try 
{ 
url = new URL("http://50.19.156.118/feed2/storage/download/a_17/Madagascar.3gp); 
urlConnection = (HttpURLConnection) url.openConnection(); 
a=urlConnection.getContentLength(); 
} 
catch (Exception e) 
{ 
} 

getContentLength()はFile.lengthながら、常に77 !!を返します。 ()返す0

アイデア? 多くのありがとう

答えて

1

HTTPはファイルシステムではなく、ハイパーリンクされたリソースを通信するためのプロトコルです。標準のHTTPでは、リソースのサイズを調べる唯一の方法は、そのリソースをダウンロードすることです。あなたの問題を解決する方法は、の前にのリソースが必要だと仮定すると、サイズを知らせる別のリソースを実装することです。実際、レスポンスのContent-Sizeフィールドはレスポンスに含まれるデータのサイズを示しますが、リソースを要求した後に限ります。

あなたのウェブサーバーにimage.jpgというイメージがあれば、関心のあるリソースの名前を渡すPHPスクリプトmeta.phpを設定することができます。meta.php?f=portrait.jpg。 meta.phpはそのファイルシステムにfのサイズを尋ね、その番号をHTTP経由で返します。

関連する問題