首页 文章

通过API将文件从Android上传到laravel [关闭]

提问于
浏览
-1

我正在开发一个应用程序,用于将文件从Android应用程序上传到Laravel Server,无法获取上传文件的具体方法 . 当我在Postman上测试它完美无缺,但是通过Android它没有工作下面我附上了Laravel代码:

public function uploadFileApp(Request $request){
    $response = array();
    $results = array();

    if($request->hasFile('uploaded_file')){
        $file = $request->file('uploaded_file');

        $file_size = $file->getSize();
        $file_extension = $file->getClientOriginalExtension();

        $max_id = IndexScan::max('id');
        $tst_id = str_pad($max_id+ 1, 8, '0', STR_PAD_LEFT);

        $transaction_id = 'M-'.$tst_id;
        $new_file_name = $transaction_id.".".$file_extension;

        $destination_path = public_path('/images/files');
        chmod($destination_path,0777);
        $file->move($destination_path,$new_file_name);

        $FileUpload = new FileUpload;

        $FileUpload->file_name = $new_file_name;
        $FileUpload->file_size = $file_size;
        $FileUpload->transaction_id = $transaction_id;
        $FileUpload->uploaded_by = $request->input("email");
        $FileUpload->save();

        $get_user_id = User::where(['email' => $request->input("email")])->first();

        $IndexScan = new IndexScan;
        $IndexScan->transaction_id = $transaction_id;
        $IndexScan->status = 'Scanned';
        $IndexScan->scanned_by = $get_user_id->id;
        $IndexScan->to_be_indexed_by = $get_user_id->id;
        $IndexScan->status = 'Scanned';
        $IndexScan->source = 'Mobile App';
        $IndexScan->ip_address = request()->ip();
        $IndexScan->save();

        $response["success"] = 1;
        $response["transaction_id"] = $transaction_id;

        $results["results"] = $response;

    } else {
        $response["success"] = 0;
        $response["transaction_id"] = "0000000000";

        $results["results"] = $response;
    }
    return response()->json($results);
}

这是Android代码:

import android.app.Activity;
 import android.app.ProgressDialog;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.graphics.Bitmap;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Environment;
 import android.os.StrictMode;
 import android.provider.MediaStore;
 import android.support.annotation.Nullable;
 import android.support.design.widget.FloatingActionButton;
 import android.support.v4.app.Fragment;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Toast;

 import com.scanlibrary.PickImageFragment;
 import com.scanlibrary.ScanActivity;
 import com.scanlibrary.ScanConstants;

 import org.json.JSONException;
 import org.json.JSONObject;

 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;

 import static android.content.Context.MODE_PRIVATE;
 import static com.mazelon.invoiceassistant.Constants.Constants.BASE_URL;
 import static com.mazelon.invoiceassistant.Constants.Constants.SharedPrefName;

public class MyInvoices extends Fragment {

FloatingActionButton fab_add;
private static final int REQUEST_CODE = 99;
private ProgressDialog pDialog;
File file;
String upload_url = BASE_URL+"uploadFileApp";
String tst_id = "";

public MyInvoices(){}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view =  inflater.inflate(R.layout.my_invoices, container, false);
    StrictMode.ThreadPolicy policy = new
            StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
    return view;
}

@Override
public void onViewCreated(final View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    fab_add = (FloatingActionButton) view.findViewById(R.id.fab_add);

    if (!isOnline(getActivity()))
    {
        Toast.makeText(getActivity(), "No network connection", Toast.LENGTH_LONG).show();
        return;
    }

    fab_add.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startScan(ScanConstants.OPEN_CAMERA);
        }
    });
}

private boolean isOnline(Context mContext) {
    ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnectedOrConnecting())
    {
        return true;
    }
    return false;
}

protected void startScan(int preference) {
    Intent intent = new Intent(getContext(), ScanActivity.class);
    intent.putExtra(ScanConstants.OPEN_INTENT_PREFERENCE, preference);
    startActivityForResult(intent, REQUEST_CODE);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
        Uri uri = data.getExtras().getParcelable(ScanConstants.SCANNED_RESULT);
        String file_nm = "";
        Bitmap bitmap = null;
        String email = "";
        try {
            String root = String.valueOf(Environment.getExternalStorageDirectory());
            bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);

            file_nm = PickImageFragment.file_name;
            SharedPreferences sp = getActivity().getSharedPreferences(SharedPrefName, MODE_PRIVATE);
            email = sp.getString("email","");
        } catch (IOException e) {
            e.printStackTrace();
        }
        uploadFile(upload_url,email,file_nm);
    }
}

public void uploadFile(final String urlString, String vTitle, String filenm) {


    URL connectURL = null;
    String Title = null;
    String fileName = null;
    int serverResponseCode = 0;

    try{
        connectURL = new URL(urlString);
        Title= vTitle;
        fileName = filenm;
    }catch(Exception ex){
        Log.i("HttpFileUpload","URL Malformatted");
    }

    HttpURLConnection conn = null;
    DataOutputStream dos = null;
    String lineEnd = "\r\n";
    String twoHyphens = "--";
    String boundary = "*****";
    int bytesRead, bytesAvailable, bufferSize;
    byte[] buffer;
    int maxBufferSize = 1024 * 1024 * 1024;
    File sourceFile = new File(Environment.getExternalStorageDirectory(), "/doc_flux" + "/" + fileName);

    if (!sourceFile.isFile()) {
        Log.e("uploadFile", "Source File not exist :" + fileName);
    }
    else {
        try {

            Log.e("url", String.valueOf(connectURL));
            Log.e("email", Title);
            Log.e("file_name", fileName);

            // open a URL connection to the Servlet
            FileInputStream fileInputStream = new FileInputStream(sourceFile);

            // Open a HTTP  connection to  the URL
            conn = (HttpURLConnection) connectURL.openConnection();
            conn.setDoInput(true); // Allow Inputs
            conn.setDoOutput(true); // Allow Outputs
            conn.setUseCaches(false); // Don't use a Cached Copy
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Connection", "Keep-Alive");
            conn.setRequestProperty("ENCTYPE", "multipart/form-data");
            conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
            conn.setRequestProperty("uploaded_file", fileName);

            dos = new DataOutputStream(conn.getOutputStream());

            dos.writeBytes(twoHyphens + boundary + lineEnd);
            dos.writeBytes("Content-Disposition: form-data; name=\"email\"" + lineEnd);
            dos.writeBytes(lineEnd);
            dos.writeBytes(Title);
            dos.writeBytes(lineEnd);
            dos.writeBytes(twoHyphens + boundary + lineEnd);

            dos.writeBytes("Content-Disposition: form-data; name=\"uploaded_file\";filename=\"" + fileName + "\"" + lineEnd);
            dos.writeBytes(lineEnd);

            // create a buffer of  maximum size
            bytesAvailable = fileInputStream.available();

            bufferSize = Math.min(bytesAvailable, maxBufferSize);
            buffer = new byte[bufferSize];

            // read file and write it into form...
            bytesRead = fileInputStream.read(buffer, 0, bufferSize);

            while (bytesRead > 0) {

                dos.write(buffer, 0, bufferSize);
                bytesAvailable = fileInputStream.available();
                bufferSize = Math.min(bytesAvailable, maxBufferSize);
                bytesRead = fileInputStream.read(buffer, 0, bufferSize);

            }

            // send multipart form data necesssary after file data...
            dos.writeBytes(lineEnd);
            dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

            // Responses from the server (code and message)
            serverResponseCode = conn.getResponseCode();
            String serverResponseMessage = conn.getResponseMessage();

            Log.i("uploadFile", "HTTP Response is : "
                    + serverResponseMessage + ": " + serverResponseCode);

            if (serverResponseCode == 200) {

                final HttpURLConnection finalConn = conn;
                getActivity().runOnUiThread(new Runnable() {
                    public void run() {
                        BufferedReader in = null;
                        StringBuffer response = null;
                        try {
                            in = new BufferedReader(
                                    new InputStreamReader(finalConn.getInputStream()));
                            String inputLine;
                            response = new StringBuffer();
                            while ((inputLine = in.readLine()) != null) {
                                response.append(inputLine);
                            }

                            in.close();
                            Log.e("jsonreply",response.toString());
                        } catch (IOException e) {
                            e.printStackTrace();
                        }

                        try {
                            JSONObject mainObject = new JSONObject(response.toString());
                            JSONObject uniObject = mainObject.getJSONObject("results");
                            tst_id = uniObject.getString("transaction_id");
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                        String msg = "File Upload Completed.";

                        Toast.makeText(getActivity(), msg,
                                Toast.LENGTH_SHORT).show();
                    }
                });
                Intent intent = new Intent(getActivity(), UploadSuccess.class);
                intent.putExtra("transaction_id",tst_id);
                startActivity(intent);
            }

            //close the streams //
            fileInputStream.close();
            dos.flush();
            dos.close();

        } catch (MalformedURLException ex) {
            if(pDialog!=null) {
                pDialog.dismiss();
            }
            ex.printStackTrace();

            getActivity().runOnUiThread(new Runnable() {
                public void run() {
                    Toast.makeText(getActivity(), "MalformedURLException",
                            Toast.LENGTH_SHORT).show();
                }
            });

            Log.e("Upload file to server", "error: " + ex.getMessage(), ex);
        } catch (Exception e) {
            if(pDialog!=null) {
                pDialog.dismiss();
            }
            e.printStackTrace();

            getActivity().runOnUiThread(new Runnable() {
                public void run() {
                    Toast.makeText(getActivity(), "Got Exception : see logcat ",
                            Toast.LENGTH_SHORT).show();
                }
            });
            Log.e("Upload server Exception", "Exception : "
                    + e.getMessage(), e);
        }
        if(pDialog!=null) {
            pDialog.dismiss();
        }

    }
}
}

当我使用从邮递员访问上面的Laravel API服务我的图像上传(我的意思是它通过if($ request-> hasFile('uploaded_file')),但是当我尝试通过上面的android代码时,它是不工作(我的意思是它正在进入else语句) .

1 回答

  • -2

    找到答案,我在这里添加代码

    Laravel:

    public function uploadFileApp(Request $request){
        $response = array();
        $data = $request->all();
        $email = $data['email'];
        $po_number = $data['po_number'];
    
        //Event::fire(new SendMail($email));
    
        if($request->hasFile('uploaded_file')){
            $file = $request->file('uploaded_file');
    
            $f_name = $file->getClientOriginalName();
            $file_size = $file->getSize();
            $file_extension = $file->getClientOriginalExtension();
    
            $max_id = IndexScan::max('id');
            $tst_id = str_pad($max_id+ 1, 8, '0', STR_PAD_LEFT);
    
            $transaction_id = 'M-'.$tst_id;
            $new_file_name = $transaction_id.".".$file_extension;
    
            $destination_path = public_path('/images/files');
            //chmod($destination_path,0777);
            $file->move($destination_path,$new_file_name);
    
            $FileUpload = new FileUpload;
    
            $FileUpload->file_name = $new_file_name;
            $FileUpload->original_file_name = $f_name;
            $FileUpload->file_size = $file_size;
            $FileUpload->transaction_id = $transaction_id;
            $FileUpload->uploaded_by = $request->input("email");
            $FileUpload->save();
    
            $get_user_id = Users::where(['email'=>$email])->first();
    
            $IndexScan = new IndexScan;
            $IndexScan->transaction_id = $transaction_id;
            $IndexScan->doc_type = $get_user_id->doc_type;
            $IndexScan->po_number = $po_number;
            $IndexScan->status = 'Scanned';
            $IndexScan->scanned_by = $get_user_id->id;
            $IndexScan->to_be_indexed_by = $get_user_id->id;
            $IndexScan->status = 'Scanned';
            $IndexScan->source = 'Mobile App';
            $IndexScan->ip_address = request()->ip();
            $IndexScan->save();
    
            $response["success"] = 1;
            $response["transaction_id"] = $transaction_id;
    
        } else {
            $response["success"] = 0;
            $response["transaction_id"] = "0000000000";
        }
        return response()->json($response);
    }
    

    Android:

    import android.app.Activity;
    import android.app.ProgressDialog;
    import android.content.Context;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.graphics.Bitmap;
    import android.net.ConnectivityManager;
    import android.net.NetworkInfo;
    import android.net.Uri;
    import android.os.AsyncTask;
    import android.os.Build;
    import android.os.Bundle;
    import android.os.Environment;
    import android.os.StrictMode;
    import android.provider.MediaStore;
    import android.support.annotation.Nullable;
    import android.support.annotation.RequiresApi;
    import android.support.design.widget.FloatingActionButton;
    import android.support.v4.app.Fragment;
    import android.support.v7.widget.LinearLayoutManager;
    import android.support.v7.widget.RecyclerView;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Toast;
    
    import com.android.volley.AuthFailureError;
    import com.android.volley.NetworkResponse;
    import com.android.volley.Request;
    import com.android.volley.Response;
    import com.android.volley.VolleyError;
    import com.android.volley.toolbox.Volley;
    import com.mazelon.invoiceassistant.Constants.Constants;
    import com.mazelon.invoiceassistant.service.HttpHandler;
    import com.mazelon.invoiceassistant.service.JSONParser;
    import com.mazelon.invoiceassistant.service.VolleyMultipartRequest;
    import com.scanlibrary.PickImageFragment;
    import com.scanlibrary.ScanActivity;
    import com.scanlibrary.ScanConstants;
    import com.yarolegovich.lovelydialog.LovelyTextInputDialog;
    
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    
    import java.io.BufferedReader;
    import java.io.ByteArrayOutputStream;
    import java.io.DataOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    
    import cz.msebera.android.httpclient.NameValuePair;
    import cz.msebera.android.httpclient.message.BasicNameValuePair;
    
    import static android.content.ContentValues.TAG;
    import static android.content.Context.MODE_PRIVATE;
    import static com.mazelon.invoiceassistant.Constants.Constants.BASE_URL;
    import static com.mazelon.invoiceassistant.Constants.Constants.SharedPrefName;
    import static com.mazelon.invoiceassistant.Constants.Constants.TAG_SUCCESS;
    import static com.mazelon.invoiceassistant.Constants.Constants.email_str;
    import static com.mazelon.invoiceassistant.Constants.Constants.password_str;
    import static com.mazelon.invoiceassistant.Constants.Constants.username_str;
    
    public class MyInvoices extends Fragment {
    
        private RecyclerView rvmyuploads;
        FloatingActionButton fab_add;
        private static final int REQUEST_CODE = 99;
        private ProgressDialog pDialog;
        File file;
        String upload_url = BASE_URL+"uploadFileApp";
        String fetch_url = BASE_URL+"appFetchUploads";
        JSONParser jsonParser = new JSONParser();
        private MyInvoicesAdapter myInvoicesAdapter;
        List<MyInvoicesAdapter.MyUploadsListing> itemListMyUploads = new ArrayList<>();
        String po_number = "";
    
        public MyInvoices(){}
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            new myUploads().execute();
            View view =  inflater.inflate(R.layout.my_invoices, container, false);
            rvmyuploads = (RecyclerView) view.findViewById(R.id.rvmyuploads);
            pDialog = new ProgressDialog(getActivity());
            StrictMode.ThreadPolicy policy = new
                    StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
            return view;
        }
    
        @Override
        public void onViewCreated(final View view, @Nullable Bundle savedInstanceState) {
            super.onViewCreated(view, savedInstanceState);
            setupFeed();
            fab_add = (FloatingActionButton) view.findViewById(R.id.fab_add);
    
            if (!isOnline(getActivity()))
            {
                Toast.makeText(getActivity(), "No network connection", Toast.LENGTH_LONG).show();
                return;
            }
    
            fab_add.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    new LovelyTextInputDialog(getContext(), R.style.EditTextTintTheme)
                            .setTopColorRes(R.color.colorPrimary)
                            .setIcon(R.drawable.invoices)
                            .setIconTintColor(R.color.warning)
                            .setTitle("Enter PO Number : ")
                            .setConfirmButton(android.R.string.ok, new LovelyTextInputDialog.OnTextInputConfirmListener() {
                                @Override
                                public void onTextInputConfirmed(String text) {
                                    po_number=text;
                                    startScan(ScanConstants.OPEN_CAMERA);
                                }
                            })
                            .show();
                }
            });
        }
    
        private boolean isOnline(Context mContext) {
            ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo netInfo = cm.getActiveNetworkInfo();
            if (netInfo != null && netInfo.isConnectedOrConnecting())
            {
                return true;
            }
            return false;
        }
    
        private void setupFeed() {
            LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity().getApplicationContext()) {
                @Override
                protected int getExtraLayoutSpace(RecyclerView.State state) {
                    return 300;
                }
            };
            rvmyuploads.setLayoutManager(linearLayoutManager);
    
        }
    
        protected void startScan(int preference) {
            Intent intent = new Intent(getContext(), ScanActivity.class);
            intent.putExtra(ScanConstants.OPEN_INTENT_PREFERENCE, preference);
            startActivityForResult(intent, REQUEST_CODE);
        }
    
        @Override
        public void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
                Uri uri = data.getExtras().getParcelable(ScanConstants.SCANNED_RESULT);
                try {
                    Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
                    SharedPreferences sp = getActivity().getSharedPreferences(SharedPrefName, MODE_PRIVATE);
                    String email = sp.getString(email_str,"");
                    uploadBitmap(upload_url,email,bitmap);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    
        public byte[] getFileDataFromDrawable(Bitmap bitmap) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
            return byteArrayOutputStream.toByteArray();
        }
    
        private class myUploads extends AsyncTask<Integer, Integer, Integer> {
            JSONObject json;
    
            @Override
            protected void onPreExecute() {
                super.onPreExecute();
            }
    
            @RequiresApi(api = Build.VERSION_CODES.KITKAT)
            @Override
            protected Integer doInBackground(Integer... ints) {
                HttpHandler sh = new HttpHandler();
    
                SharedPreferences sp = getActivity().getSharedPreferences(SharedPrefName, MODE_PRIVATE);
                String email_id = sp.getString(email_str,"");
    
                String urls = "?email="+email_id;
                String jsonStr = sh.makeServiceCall(fetch_url+urls);
    
                Log.e(TAG, "Response from url: " + jsonStr);
    
                try {
                    JSONArray arr = new JSONArray(jsonStr);
    
                    for (int i = 0; i < arr.length(); i++) {
                        JSONObject o = arr.getJSONObject(i);
    
                        MyInvoicesAdapter.MyUploadsListing myuploadslist = new MyInvoicesAdapter.MyUploadsListing();
                        if (!o.isNull("transaction_id")) {
                            myuploadslist.transaction_id = o.getString("transaction_id");
                        }
                        if (!o.isNull("status")) {
                            myuploadslist.status = o.getString("status");
                        }
                        if (!o.isNull("created_at")) {
                            myuploadslist.created_at = o.getString("created_at");
                        }
                        itemListMyUploads.add(i, myuploadslist);
    
                        Log.e(TAG, "Items : " + itemListMyUploads);
                    }
                } catch (final JSONException e) {
                    Log.e(TAG, "Json parsing error: " + e.getMessage());
    
                }
                return null;
            }
    
            protected void onPostExecute(Integer result) {
                super.onPostExecute(result);
                myInvoicesAdapter = new MyInvoicesAdapter(getContext(), itemListMyUploads);
                myInvoicesAdapter.updateItem();
                rvmyuploads.setAdapter(myInvoicesAdapter);
                myInvoicesAdapter.notifyDataSetChanged();
    
                if(itemListMyUploads.size()==0){
                    rvmyuploads.setVisibility(View.INVISIBLE);
                }
            }
        }
    
        private void uploadBitmap(String upload_url, final String email, final Bitmap bitmap) {
            pDialog.setMessage("Uploading, Please Wait...");
            pDialog.show();
            //our custom volley request
            VolleyMultipartRequest volleyMultipartRequest = new VolleyMultipartRequest(Request.Method.POST, upload_url,
                    new Response.Listener<NetworkResponse>() {
                        @Override
                        public void onResponse(NetworkResponse response) {
                            try {
                                if(pDialog!=null) {
                                    pDialog.dismiss();
                                }
                                JSONObject obj = new JSONObject(new String(response.data));
                                Log.e("TST ID :",obj.getString("transaction_id"));
                                Toast.makeText(getActivity(), "Transaction ID : "+obj.getString("transaction_id")+" Created Successfully", Toast.LENGTH_SHORT).show();
                                Intent intent = new Intent(getActivity(), UploadSuccess.class);
                                intent.putExtra("transaction_id",obj.getString("transaction_id"));
                                startActivity(intent);
                            } catch (JSONException e) {
                                if(pDialog!=null) {
                                    pDialog.dismiss();
                                }
                                e.printStackTrace();
                            }
                        }
                    },
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            if(pDialog!=null) {
                                pDialog.dismiss();
                            }
                            Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_SHORT).show();
                        }
                    }) {
    
                /*
                 * If you want to add more parameters with the image
                 * you can do it here
                 * here we have only one parameter with the image
                 * which is tags
                 * */
                @Override
                protected Map<String, String> getParams() throws AuthFailureError {
                    Map<String, String> params = new HashMap<>();
                    params.put("email", email);
                    params.put("po_number", po_number);
                    return params;
                }
    
                /*
                 * Here we are passing image by renaming it with a unique name
                 * */
                @Override
                protected Map<String, DataPart> getByteData() {
                    Map<String, DataPart> params = new HashMap<>();
                    long imagename = System.currentTimeMillis();
                    params.put("uploaded_file", new DataPart(imagename + ".png", getFileDataFromDrawable(bitmap)));
                    return params;
                }
            };
    
            //adding the request to volley
            Volley.newRequestQueue(getActivity()).add(volleyMultipartRequest);
        }
    
    }
    

相关问题