Bild hochladen, um server mithilfe der base64-Codierung android

Ich versuche, das Bild hochladen string zum server, aber jedes mal, wenn ich hochgeladen, es gibt eine Nachricht, die nichts erhalten, von Ihrer Seite (also die leere Zeichenfolge). Ich habe auch überprüft die image-Zeichenfolge, nach der Codierung, aber immer noch kann ich nicht hochladen, die Zeichenfolge des Bildes ein. Könnten Sie mir bitte helfen?

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import android.util.Log;

public class UploadImages {
     String _responseMain;
    private int serverResponseCode;

    public String upLoad2Server(String encode) {


        HttpURLConnection conn = null;


        DataOutputStream dos = null;
        String lineEnd = "\r\n";
        String twoHyphens = "--";
        String boundary = "*****";
        int bytesRead, bytesAvailable, bufferSize;
        byte[] buffer;
        int maxBufferSize = 1 * 1024 * 1024;



        try {
             Log.d("encodedImage",  encode);
            URL url = new URL(ConfigImages.UPLOAD_URL);
            conn = (HttpURLConnection) url.openConnection();
            conn.setDoInput(true);
            conn.setDoOutput(true);
            conn.setUseCaches(false);
            conn.setChunkedStreamingMode(1024);



            conn.setRequestProperty("Connection", "Keep-Alive");
            conn.setRequestProperty("ENCTYPE", "multipart/form-data");
            conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
            conn.setRequestMethod("POST");
            conn.connect();
            conn.connect();



            OutputStream outputStream = conn.getOutputStream();
            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
            writer.write(encode);

            writer.close();
            outputStream.close();

            //Read
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));

            String line = null;
            StringBuilder sb = new StringBuilder();

            while ((line = bufferedReader.readLine()) != null) {
                System.out.println("Uploading............");
                sb.append(line);
            }

            bufferedReader.close();
             _responseMain = sb.toString();
            System.out.println("Response of Image Upload : " +_responseMain);


        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return _responseMain ;





    }
}
  • Sie sind nur das senden der base64-string. Aber vergessen zu markieren es als parameter oder in einer Datei. In beiden Fällen sollten Sie einen Namen. Was macht der receiver erwarten Sie genau?
  • Log.d("encodedImage", encode);. Was hat das zu drucken?
  • (Means empty string).. Nein, es bedeutet, dass Sie nicht die richtige Kennung/Namen.
  • wie kann ich es beheben? Ich meine, wie kann ich senden Sie es als Datei?
  • Log.d(„encodedImage“, Kodierung) werden Druck-string von kodierten Bild
  • die Empfänger erwarten, dass die base64-codierten code für Bild
  • die Empfänger erwarten, dass die base64-codierten code für Bild
  • Aber wie genau? Unter dem parametername oder mit dem Namen?
  • Sie wollen nicht jede Datei, die Sie wollen einfach nur base64-codierten code für Bild
  • Unter dem parametername?
  • Sie schrieb ein php-code, die Sie wollen, codiert code, senden Sie es zu, dass. Also nahm ich die url und wollen, um es zu senden, die url. es ist eine Art von API-Aufruf. webexpertsonline.org/dev/turnupapi/v1/and/add_image.php
  • dies ist nur ich habe von Ihrer Seite
  • Poste den php-code hier, damit wir sehen können Sie den code.
  • Oder veröffentlichen Sie API hier.
  • Zu Bild einfügen API-cal :: webexpertsonline.org/dev/turnupapi/v1/and/add_image.php Json-format :: {„image_code“:“AAARoABQAAAAEAAAEe“} Antwort :: Im Fall des Erfolgs {„error“: false,“responseCode“: 100,“response“: „erfolgreich ist, das Bild Einfügen code“} IM Falle des Scheiterns {„error“: true,“responseCode“: 101,“response“: „Sie konnte nicht Bild einfügen code“} dies ist nur ich habe von Ihrer Seite ist ein API-Aufruf
  • Gut, wenn man sich den api-Sie können selbst sagen, was Sie falsch machen, denke ich.
  • Also, was muss ich tun in diesem Fall? Wie kann ich es beheben?
  • ist die API falsch oder mein Weg zum hochladen?
  • Sie wollte nicht sagen, noch, was Sie falsch machen oder was Sie zu tun haben.
  • it gives a message nothing receive from your side. Sorry, aber ich sehe nicht, dass der text in der API.
  • Ich versuche zum senden der codierten Bildes, die ich aus der Galerie, die diese API nutzen, welche erhalten sollten, von Ihrer Seite, ich kann das kodierte Bild, aber wenn ich versuche, es zu senden, Sie sagten mir, wir haben nicht alles von deiner Seite, also ich weiß nicht, warum diese codierte Zeichenfolge wird nicht werfen?
  • Ja, diese Nachricht ist für die früheren Sie jetzt änderte es nichts erhält von Ihrer Seite bei der ersten wurde es Versäumt, Bild einfügen code
  • Sie haben bereits gesagt, dass vor. Ich weiß bereits, dass. Sie besser meine Fragen beantworten über die api, die Sie gebucht. Sie kann leicht sehen, für sich selbst, dass Sie nicht senden die base64string, wie Sie es wollen. Sie wollen {"image_code":"AAARoABQAAAAEAAAEe"}. Nun zuerst erzählen, was Sie senden statt.
  • Ich habe oben schon erwähnt, wie ich bin senden . Ich habe den oben genannten code für das senden der Zeichenfolge, aber ich bin nicht sicher, ob ich in der richtigen Weise, oder nicht. Also, Sie beraten mich, wie ich es tun kann?
  • Sie müssen nicht, mir zu sagen, wie Sie senden, wie kann ich Lesen Sie Ihren code. Nur geben Antwort auf meine Frage. Sie brauchen nicht, code für, die. Sie nicht senden, der json-text {"image_code":"AAARoABQAAAAEAAAEe"} aber nur …. ? Jetzt sagen!
  • ok bro ich gelöst, ja das genaue problem war, json Namen danke ich gelöst, ich erhielt den code akzeptieren jetzt vielen Dank im Voraus
  • War es wirklich eine gute Antwort ja das genaue problem war, JSON name: ich schicke es mit einem anderen Namen

InformationsquelleAutor user3669034 | 2016-05-21



2 Replies
  1. 1

    Sie nicht senden, einen parameter-Namen wie

     {"image_code":"AAARoABQAAAAEAAAEe"}
    • genau habe ich es behoben danke im Voraus
    • Sorry, aber das ist nicht im Voraus. Sie bedankte sich danach, wie es gemacht werden muss.
    • Ich bin nicht sehr gut in Englisch:) trotzdem danke nochmal
  2. 0

    Habe ich die Antwort gefunden :
    Ich habe verwendet json-format, aber ich wusste nicht, geben Sie den Namen der json-Richtig, so dass der code sollte

    package Uploadvideo;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.DataOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.io.UnsupportedEncodingException;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    import org.json.JSONObject;
    
    import android.util.Log;
    
    public class UploadImages {
         String _responseMain;
        private int serverResponseCode;
        JSONObject jsonObject;
        public String upLoad2Server(String Encode) {
    
    
             try {
                 Log.d("Vicky", "encodedImage = " + Encode);
                  jsonObject = new JSONObject();
                 jsonObject.put("image_code", Encode);
    
                 String data = jsonObject.toString();
                 String yourURL = "URL Name";
                 URL url = new URL(yourURL);
                 HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                 connection.setDoOutput(true);
                 connection.setDoInput(true);
                 connection.setRequestMethod("POST");
                 connection.setFixedLengthStreamingMode(data.getBytes().length);
                 connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
                 OutputStream out = new BufferedOutputStream(connection.getOutputStream());
                 BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));
                 writer.write(data);
                 Log.d("Vicky", "Data to php = " + data);
                 writer.flush();
                 writer.close();
                 out.close();
                 connection.connect();
    
                 InputStream in = new BufferedInputStream(connection.getInputStream());
                 BufferedReader reader = new BufferedReader(new InputStreamReader(
                         in, "UTF-8"));
                 StringBuilder sb = new StringBuilder();
                 String line = null;
                 while ((line = reader.readLine()) != null) {
                     sb.append(line);
                 }
                 in.close();
                 String result = sb.toString();
                 Log.d("Vicky", "Response from php = " + result);
                 //Response = new JSONObject(result);
                 connection.disconnect();
             } catch (Exception e) {
                 Log.d("Vicky", "Error Encountered");
                 e.printStackTrace();
             }
            return null;
    
    
    
    
        }
    }

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.