मैं रेट्रोफिट का उपयोग कर एक वीडियो फ़ाइल (गैलरी से चुना गया) अपलोड करना चाहता हूं। लेकिन यह काम नहीं करता है और अपवाद फेंकता है "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 चल रहा है। कृपया ध्यान दें कि मुझे नहीं पता कि यह कोड ध्वनि है या नहीं, और मैं इसे लगभग अंधेरे से काम करने की कोशिश कर रहा हूं।
मेरे प्रश्न का उत्तर देने के लिए धन्यवाद लेकिन मैंने अभी आपके उत्तर को उखाड़ फेंक दिया और उत्तर को जल्द ही कुछ सेकंड देने के लिए स्वीकार किया। फिर से धन्यवाद। – mok