2016-12-11 4 views
-4

モバイルからデータベースにファイル(PDFファイル)をアップロードし、このファイルをアプリにダウンロードして表示する機能をアプリケーションに追加したいと考えています。ファイルをパーズデータベースにアップロード

これをやり始める方法は何もわかりませんし、使用する正しいコードは何ですか?

私は

ParseObject pObject = new ParseObject("ExampleObject"); 
    pObject.put("myNumber", number); 
    pObject.put("myString", name); 
    pObject.saveInBackground(); // asynchronous, no callback 

、このコードを使用してみました - EDIT -

私はボタンをクリックしたときに、私はこのコードが、アプリのクラッシュを試してみました:

public class Test extends Activity { 

    Button btn; 
    File PDFFile; 
    ParseObject po; 
    String userPDFFile; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.test); 

     po = new ParseObject("pdfFilesUser"); 
     btn = (Button) findViewById(R.id.button); 
     PDFFile = new File("res/raw/test.pdf"); 

     btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
      uploadPDFToParse(PDFFile, po, userPDFFile); 
      } 
     }); 
    } 

    private ParseObject uploadPDFToParse(File PDFFile, ParseObject po, String columnName){ 

      if(PDFFile != null){ 
      Log.d("EB", "PDFFile is not NULL: " + PDFFile.toString()); 
      ByteArrayOutputStream out = new ByteArrayOutputStream(); 
      BufferedInputStream in = null; 
      try { 
       in = new BufferedInputStream(new FileInputStream(PDFFile)); 
      } catch (FileNotFoundException e) { 
       e.printStackTrace(); 
      } 
      int read; 
      byte[] buff = new byte[1024]; 
      try { 
       while ((read = in.read(buff)) > 0) 
       { 
        out.write(buff, 0, read); 
       } 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
      try { 
       out.flush(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
      byte[] pdfBytes = out.toByteArray(); 

      // Create the ParseFile 
      ParseFile file = new ParseFile(PDFFile.getName() , pdfBytes); 
      po.put(columnName, file); 

      // Upload the file into Parse Cloud 
      file.saveInBackground(); 
      po.saveInBackground(); 
     } 
     return po; 
    } 



    } 
+0

https://parseplatform.github.io/docs/android/guide/#files –

+0

:このコードを試すことができます。このドキュメントhere

を見てみましょうありがとうございました^^ –

答えて

0

あなたはREST APIを経由して、手動でfileをアップロードすることができます。詳細は、チェックのために

private ParseObject uploadPDFToParse(File PDFFile, ParseObject po, String columnName){ 

if(PDFFile != null){ 
    Log.d("EB", "PDFFile is not NULL: " + PDFFile.toString()); 
    ByteArrayOutputStream out = new ByteArrayOutputStream(); 
    BufferedInputStream in = null; 
    try { 
     in = new BufferedInputStream(new FileInputStream(PDFFile)); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 
    int read; 
    byte[] buff = new byte[1024]; 
    try { 
     while ((read = in.read(buff)) > 0) 
     { 
      out.write(buff, 0, read); 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    try { 
     out.flush(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    byte[] pdfBytes = out.toByteArray(); 

    // Create the ParseFile 
    ParseFile file = new ParseFile(PDFFile.getName() , pdfBytes); 
    po.put(columnName, file); 

    // Upload the file into Parse Cloud 
    file.saveInBackground(); 
    po.saveInBackground(); 
} 
return po; 
} 

this

+0

あなたの答えはありがとうございます。リンクは、私がParseオブジェクトとファイルを理解するのに本当に役立ちました。そして、私はそれらの使い方を知っています。しかし、私はまだ理解していないことは、私はこれを行う前に(私はアンドロイドスタジオを使用している)にPDFファイルを格納するはずですか?私はこの変数の中にあるものを意味します: "PDFFile"?自分のコンピュータ上にあるpdfファイルを保存するにはどうしたらいいですか? –

+0

@ DeemaAl-Shami「私が自分のコンピュータに持っているpdfファイルを保存するにはどうすればいいですか? - それはいけません。そのPDFはあなたのコンピュータ上にあります。 –

+0

からアップロードしようとしているAndroidデバイスではなく、このコードは何ですか?それはどこに保存されているPDFファイルですか? @ cricket_007 –

0

私は強く希望Parse Java開発のwikiですばやく立ち上げることをお勧めします。

質問にお答えします。あなたは使用したい:

byte[] data = "Working at Parse is great!".getBytes(); 
ParseFile file = new ParseFile("resume.txt", data); 

file.saveInBackground(); 

最初にあなたのファイルなどを宣言し、それを使ってそれを保存します。しかし、もう一度、最初に作業しているフレームワークをよりよく理解するためのガイドラインをお読みください。

https://parseplatform.github.io/docs/android/guide/

+0

ありがとうございました。リンクは、私がParseオブジェクトとファイルを理解するのに本当に役立ちました。私はこれを感謝します^^ –

関連する問題