• 24-01-2017, 18:29:41
    #1
    merhaba uygulama üzerinden resim post etmeye çalışıyorum volley eklentisi ile baktım ama onunla resim string olarak gidiyor sanırım.Bu durumda gereksiz veri ve işlem kaybı olmaz mı?

    başka bir kütüphane filan bişey var mı hem veri hem de resim post edebileceğim
  • 24-01-2017, 18:51:42
    #2
    Jsoup kütüphanesini kullanabilirsiniz.
  • 24-01-2017, 18:53:41
    #3
    teşekkür ederim hocam bir araştırayım
  • 24-01-2017, 21:53:46
    #4
    oktayman adlı üyeden alıntı: mesajı görüntüle
    teşekkür ederim hocam bir araştırayım
    beceremedim
    aşağıda ki gibi yaptım ama nedense bir sorun var bilgiyi göndermiyor
    public void yenigonder() {
        String url = UPLOAD_URL;
    
        File file = new File(picturePath);
      //  File file = new File("storage/sdcard0/WhatsApp/Media/WhatsApp Images/IMG-20170120-WA0002.jpg");
        try {
            FileInputStream fs1 = new FileInputStream(file);
            Log.e("Bilgi", "stream yapildi");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            Log.e("Bilgi", "stream yapilamadi");
        }
    
        Log.e("Bilgi", "gönderme başlıyor");
        Log.e("Bilgi", "Dosya adı:"+file.getName());
       Log.e("Bilgi", "Dosya adresi:"+file.getPath());
        Log.e("Bilgi", "post adresi:"+url);
    
    
        try {
            Document document = Jsoup.connect(url)
                    .data("user", "user")
                    .data("password", "12345")
                    .data("email", "info@tutorialswindow.com")
                    .data("file", file.getName(), fs1 )
                    .post();
            Log.e("Bilgi", "post gitti");
        } catch (IOException e) {
            e.printStackTrace();
            Log.e("Bilgi", "hata oldu");
    
        }
    
    }
    bunlarda bu kısmın logları
    01-24 21:47:26.713 32690-32690/com.example.oktay.kayanmenu E/Bilgi: stream yapildi
    01-24 21:47:26.714 32690-32690/com.example.oktay.kayanmenu E/Bilgi: gönderme başlıyor
    01-24 21:47:26.714 32690-32690/com.example.oktay.kayanmenu E/Bilgi: Dosya adı:SAM_0079.JPG
    01-24 21:47:26.714 32690-32690/com.example.oktay.kayanmenu E/Bilgi: Dosya adresi:/storage/sdcard0/duzenlenen/output/SAM_0079.JPG
    01-24 21:47:26.715 32690-32690/com.example.oktay.kayanmenu E/Bilgi: post adresi:http://diyetisyensirlari.com/mobil/mobil.php
    01-24 21:47:26.779 32690-32690/com.example.oktay.kayanmenu E/Bilgi: hata oldu

    çok mu yanlış yaptım anlamadım
    http://stackoverflow.com/questions/7...es-using-jsoup
    bu linkteki cevaplar gibi yapmayı denedim ama aynı bu şekilde yapınca
    android studio new FileInputStream(file) ifadesinin altını ciziyor. alt enter yapınca try içine alıyor
  • 24-01-2017, 22:10:36
    #5
    post kısmında sadece sitenin istediği bilgileri göndermeniz gerekmektedir. benim gördüğüm kadarıyla bu bilgileri post etmeniz yeterli.
  • 26-01-2017, 14:43:47
    #6
    Volley'in default olarak multipart desteği yok apachenin http kütüphanesinden bir kaç alt library eklemek gerekiyor daha sonrada bir tane Multipart request yazman gerekiyor volley için oda proje boyutuna ekstradan baya bi mb ekliyor.
    Retrofit veya loopj http clientlerini kullanmanı öneririm sen file olarak ekliyorsun parametreyi.

    Senin o bahsettiğin resmi base64 ile encode edip string olarak yollama ve karşı tarafta decode edip resme çevirme yöntemi bence gereksiz ara bir yöntem.
  • 26-01-2017, 15:51:52
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Eğer resim dosyaların çok büyük boyutlarda değilse en pratik yolu resmi base64 formatına çevirip post ile upload etmektir. Doğrusu multipart boundary ile yollamak fakat biraz daha tecrübe gerektirir.
  • 26-01-2017, 20:06:27
    #8
    yaptım yaptım oldu meğerse Thread içinde yazmak gerekiyormuş performans için android internet bağlantısına izin vermiyormuş.(çok saşma geldi ama)

    gönderme kısmını böyle yapınca artık dosya atabiliyorum. şimdi bunu kamera ile çekilen fotorafa yapmayıda becerebilirsem çok güzel olacak
    Thread downloadThread = new Thread() {
      public void run() {
        try {
            Document document = Jsoup.connect(url)
                    .data("user", "user")
                    .data("password", "12345")
                    .data("email", "info@tutorialswindow.com")
                    .data("file", file.getName(), fs1 )
                    .post();
            Log.e("Bilgi", "post gitti");
        } catch (IOException e) {
            e.printStackTrace();
            Log.e("Bilgi", "hata oldu");
    
        }
    
      }
    };
    downloadThread.start();
    kaynak:https://stackoverflow.com/questions/...12673#10012673