2017-01-24 3 views
0

私は驚くほど長い間これに取り組んできましたが、多くの時間を費やして答えを探しましたが、運がなかった。アップロードできるのと同じアプリでのみParseFilesをダウンロードできます

私は構文解析ファイルの罰金を取得することができる午前:文字列と数値と物事とともに

ParseFile imageFile = parseObj.getParseFile("image"); 

。しかし

、私は、ファイルの内容をダウンロードしよう:コード100エラーで出

imageFile.getDataInBackground(...) 

要求を常に回:

com.parse.RarseRequest$ParseRequestException: i/o failure 

として与えられた原因で:

"Connection refused" 

驚いたことに、ファイルが同じapでアップロードされた場合、ファイルの内容をダウンロードできますp。正確に同じアプリケーションID、クライアントキー、およびサーバーアドレスが与えられている異なるアプリケーションであっても、それぞれ独自のファイルをダウンロードすることはできますが、互いにファイルをダウンロードすることはできません。私はAndroidとiOSの両方のアプリケーションでこれをテストしました。

画像ファイルがアップロードされると、その画像はParse Dashboardで表示(およびダウンロード)できますが、ファイルをアップロードしたアプリだけが再びダウンロードでき、Parse Dashboard自体でアップロードされたファイルはダウンロードできません。私のアプリで

解析オブジェクトがで初期化されます。

Parse.initialize(new Parse.Configuration.Builder(this) 
    .applicationId("App ID") 
    .clientKey("Client Key") 
    .server("http://server.com:1400/service_subdir").build() 

し、サーバーの「config.jsの」ファイルが含まれています

config.appID = 'App ID'; 
config.clientKey = 'Client Key'; 
config.jsKey = 'Javascript Key'; 

「アプリケーションID」および「クライアント鍵」である場合どちらの場合も同じです。

さらに注意しなければならないのは、複数のサービスが同じサーバー上で実行されていることです。これらのイメージは特定のサービスにアップロードされていますが、ファイルURLは別のサービスとして指定されます構文解析ファイルによって返されたURLがある

"http://server.com:1400/service_subdir/" 

"url": "http://localhost:1400/different_service_dir/files/App ID/..._file.png" 

そして、私はワークアウト、なぜできない私の人生のために、サーバが与えられています。

"http://server.com:1400"が "http://localhost:1400"のためにスワップアウトされた理由は分かりますが、なぜ "service_subdir"が "different_service_dir"に変更されたのかで私は完全に困惑します。取得したParse Dashboard自体から直接アップロードされたファイルでも、ParseFileのURLに「different_service_dir」が表示されます(ダウンロードされません)。同じアプリケーション(ダウンロードする)によってアップロードされたファイルでも、この "different_service_dir"を使用してURLアドレスを一覧表示すると、なぜ私は完全に失われてしまいます。

ご協力いただきありがとうございます。 Slarti

+0

さらに調査した後... アップロードするアプリをアンインストールしてもう一度再インストールすると、アプリはアップロードした画像ファイルをダウンロードできなくなります。すべてはおそらく何よりもキャッシングクォークだったでしょう。 – Slartibartfast

答えて

0

ファイルを外部ストレージに保存しても、アプリが他のアプリの内部ストレージを読み取ることはできません。これは、デバイスにセキュリティがないことを意味します。ファイルを読むためにはまだスーパーユーザーのアクセス権が必要です。

+0

このプロジェクトが終わったら、ノルウェーに注意が必要なフィヨルドがいくつかあります。 – David

+0

デイブさん、ありがとうございますが、私はローカルストレージに何かを保存したくありません。ファイルが私のアプリケーションによってローカルに保存されているように見えるという事実は、サーバからファイルを受け取っていないこと、そして何かが不便であるという事実を隠すことです。私はパースサーバーに画像を保存し、私のアプリでそれらをダウンロードしたいと思っています。これはParseの非常に一般的な使用ですが、何らかの理由で私のアプリはサーバー上のファイルを「見る」ことができますが、その中のデータをダウンロードすることはできないようです。今アップロードしたファイルを「ダウンロード」できるのは単なる教訓だと思われます。 – Slartibartfast

+0

はい、私はノルウェーに戻るのを待つことができません。私はそれらのかすかなビットが大好きです;) – Slartibartfast

関連する問題