मुझे एंड्रॉइड स्टूडियो में जावा का उपयोग कर पार्स सर्वर पर पीडीएफ फाइल अपलोड करने में मदद चाहिए।

मैंने निम्नलिखित कोड का उपयोग करने की कोशिश की:

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;
}

मुझे यह त्रुटि मिलती है:

E/AndroidRuntime: घातक अपवाद: मुख्य प्रक्रिया: com.jackady.notebytebylev3l, PID: 31048 java.lang.RuntimeException: परिणाम देने में विफलता ://com.mi.android.globalFileexplorer.myprovider/external_files/Download/CourseRegistrationReport (1).pdf flg=0x1 }} से गतिविधि {com.jackady.notebytebylev3l/com.jackady.notebytebylev3l.uploadPDF}: java.lang. NullPointerException: android.app.ActivityThread.deliverResults(ActivityThread.java:4419) पर android.app.ActivityThread.handleSendResult पर एक शून्य ऑब्जेक्ट संदर्भ पर वर्चुअल विधि 'int java.io.BufferedInputStream.read(byte[])' को लागू करने का प्रयास करें। (ActivityThread.java:4461) android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49) पर android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) पर android.app.servertransaction.TransactionExecu पर tor.execute(TransactionExecutor.java:68) android.app पर। (Looper.java:201) android.app.ActivityThread.main(ActivityThread.java:6806) पर java.lang.reflect.Method.invoke(Native Method) पर com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run पर (RuntimeInit.java:547) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) पर इसके कारण: java.lang.NullPointerException: वर्चुअल विधि 'int java.io.BufferedInputStream.read( बाइट [])' android.app.Activity पर com.jackady.notebytebylev3l.uploadPDF.uploadPDFToParse(uploadPDF.java:43) पर com.jackady.notebytebylev3l.uploadPDF.onActivityResult(uploadPDF.java:140) पर एक शून्य वस्तु संदर्भ पर .dispatchActivityResult(Activity.java:7590) android.app.ActivityThread.deliver पर परिणाम (ActivityThread.java:4412) android.app.ActivityThread.handleSendResult(ActivityThread.java:4461) पर android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)  पर android.app.servertransaction.TransactionExecutor.executeCallback पर (TransactionExecutor.java:108)  android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)  पर android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831)  पर android.os.Handler.dispatchMessage( Handler.java:106)  android.os.Looper.loop(Looper.java:201) पर android.app.ActivityThread.main(ActivityThread.java:6806) पर java.lang.reflect.Method.invoke(Native Method) पर com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) पर com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) पर

0
ADNAN JAKATI 1 अक्टूबर 2019, 15:59

1 उत्तर

सबसे बढ़िया उत्तर

निम्नलिखित कोड आज़माएं और मुझे बताएं:

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

    if(PDFFile != null){
        Log.d("EB", "PDFFile is not NULL: " + PDFFile.toString());
        int size = (int) file.length();
        byte[] pdfBytes = new byte[size];

        try {
            BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
            buf.read(pdfBytes, 0, pdfBytes.length);
            buf.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        // Create the ParseFile
        ParseFile file = new ParseFile(PDFFile.getName() , pdfBytes);
        po.put(columnName, file);

        // Upload the file into Parse Cloud
        file.save();
        po.saveInBackground();
    }
    return po;
}
0
Davi Macêdo 4 अक्टूबर 2019, 00:23