1

ファイルをダウンロードしてローカルに保存するにはどうすればよいですか?ドキュメントとグーグルを検索しましたが、例が見つかりませんでした。

私はこれを試しました:

this.copyRemote = function(path,path2){
    reader = Ti.Network.createHTTPClient();
    writer = Ti.Filesystem.getFile(path2);

    reader.open('GET',path);
    reader.receive(writer);
}

しかし、ファイルをダウンロードしようとするとTidesdkがクラッシュし、コンソールの最後のメッセージは次のとおりです。

[12:42:39:647] [Ti.Network.HTTPClient] [Debug] Changing readyState from 0 to 1 for url:https://buttonpublish.com/api/images/7/image257189x142.jpg
[12:42:39:671] [Ti.Proxy] [Debug] Looking up proxy information for: https://buttonpublish.com/api/images/7/image257189x142.jpg
[12:
4

2 に答える 2

2

以下のコードを使用して、 TideSDKGoogleグループで成功したようです。

var httpClient = Ti.Network.createHTTPClient();
httpClient.open('GET', path);
httpClient.receive(function(data) {
  var file = Ti.Filesystem.getFile(path2);
  var fileStream = file.open(Ti.Filesystem.MODE_APPEND);
  fileStream.write(data);
  fileStream.close();
});

少なくとも正しい方向を指すのに役立つことを願っています。

于 2013-02-02T04:22:16.393 に答える
0

これは、ファイルをマシンに取り込むだけのニーズに対応していることがわかりました。

function downloadFile( url ){
    Ti.Platform.openApplication( url );
}

これにより、マシンのデフォルトブラウザを使用してURLが開きます。このアプローチの欠点の1つは、通常、ユーザーがダウンロードの確認を求められることです。将来これがどのように機能するかを変更したい場合に備えて、downloadFile関数を使用します。

于 2013-05-03T15:01:58.053 に答える