2015-11-12 6 views
7

मैं रेट्रोफिट का उपयोग कर एक वीडियो फ़ाइल (गैलरी से चुना गया) अपलोड करना चाहता हूं। लेकिन यह काम नहीं करता है और अपवाद फेंकता है "java.lang.IleglegalArgumentException: अप्रत्याशित यूआरएल: 1 9 2.168.1.7"। मेरा कोड नीचे प्रस्तुत किया गया है।
PostFile.java:रेट्रोफिट-इलियगल आर्ग्यूमेंट अपवाद: अप्रत्याशित यूआरएल

public final class PostFile { 
    public static final MediaType MEDIA_TYPE_MARKDOWN 
     = MediaType.parse("vide/mp4"); 

    private final OkHttpClient client = new OkHttpClient(); 

    public void run(String path) throws Exception { 
     File file = new File(path); 

     Request request = new Request.Builder() 
      .url("192.168.1.7/") 
      .post(RequestBody.create(MEDIA_TYPE_MARKDOWN, file)) 
      .build(); 

     Response response = client.newCall(request).execute(); 
     if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); 

     System.out.println(response.body().string()); 
    } 
} 

PostFile:

public class MainActivity extends Activity { 
    private static int RESULT_LOAD_IMG = 1; 
    String decodableString; 

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

    public void loadImagefromGallery(View view) { 
     // Create intent to Open Image applications like Gallery, Google Photos 
     Intent galleryIntent = new Intent(Intent.ACTION_PICK, 
       android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI); 
     // Start the Intent 
     startActivityForResult(galleryIntent, RESULT_LOAD_IMG); 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     try { 
      // When an Image is picked 
      if (requestCode == RESULT_LOAD_IMG && resultCode == RESULT_OK 
        && null != data) { 
       // Get the Image from data 

       Uri selectedVideo = data.getData(); 

       String[] filePathColumn = { MediaStore.Video.Media.DATA }; 
       // Get the cursor 
       Cursor cursor = getContentResolver().query(selectedVideo, 
         filePathColumn, null, null, null); 
       // Move to first row 
       cursor.moveToFirst(); 

       int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
       decodableString = cursor.getString(columnIndex); 
       cursor.close(); 
       new PostFile().run(decodableString); 
       Log.i("mohsen","done"); 
      } else { 
       Toast.makeText(this, "You haven't picked any video", 
         Toast.LENGTH_LONG).show(); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
      Toast.makeText(this, "Something went wrong", Toast.LENGTH_LONG) 
        .show(); 
     } 
    } 
} 

wampserver अपने कंप्यूटर पर अपाचे सर्वर 2.4.4 चल रहा है। कृपया ध्यान दें कि मुझे नहीं पता कि यह कोड ध्वनि है या नहीं, और मैं इसे लगभग अंधेरे से काम करने की कोशिश कर रहा हूं।

उत्तर

10

कोशिश परिवर्तन

.url("192.168.1.7/") 

.url("http://192.168.1.7") 
3

को http://192.168.1.7 करने के लिए अपने यूआरएल को संशोधित। यह पूरी तरह से काम करना चाहिए।

+1

मेरे प्रश्न का उत्तर देने के लिए धन्यवाद लेकिन मैंने अभी आपके उत्तर को उखाड़ फेंक दिया और उत्तर को जल्द ही कुछ सेकंड देने के लिए स्वीकार किया। फिर से धन्यवाद। – mok

संबंधित मुद्दे