من توی IntelliJ Idea نیازی به این و خط ندارم ولی توی eclipse نیاز می شه
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
ارور هنگام آپلود فایل
مدیریت گفتگو
آخرین تغییر: 11 سال پیش
زمانی که برای آپلود فایل از کد زیر استفاده می کنم، در ورژن 2.3.7 اندروید فایل آپلود میشه اما زمانی که در ورژن 4.1.1 اجرا می کنم با ارور مواجه میشم
public void uploadImage(String url, String selectedPath) {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
File f = new File(selectedPath);
if (f.exists())
{
builder.addTextBody("key", "vahid");
builder.addBinaryBody("uploaded_file", f);
HttpEntity entity = builder.build();
//
post.setEntity(entity);
try {
HttpResponse response = client.execute(post); //خط ارور
HttpEntity entity1 = response.getEntity();
}
catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
logCat
11-11 07:20:33.032: E/AndroidRuntime(2033): FATAL EXCEPTION: main
11-11 07:20:33.032: E/AndroidRuntime(2033): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null,
request=2, result=-1, data=Intent { act=inline-data (has extras) }} to activity {com.uncocoder/com.uncocoder.myapp.ImageChooser}:
android.os.NetworkOnMainThreadException
11-11 07:20:33.032: E/AndroidRuntime(2033): at android.app.ActivityThread.deliverResults(ActivityThread.java:3141)
11-11 07:20:33.032: E/AndroidRuntime(2033): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3184)
11-11 07:20:33.032: E/AndroidRuntime(2033): at android.app.ActivityThread.access$1100(ActivityThread.java:130)
11-11 07:20:33.032: E/AndroidRuntime(2033): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1243)
11-11 07:20:33.032: E/AndroidRuntime(2033): at android.os.Handler.dispatchMessage(Handler.java:99)
11-11 07:20:33.032: E/AndroidRuntime(2033): at android.os.Looper.loop(Looper.java:137)
11-11 07:20:33.032: E/AndroidRuntime(2033): at android.app.ActivityThread.main(ActivityThread.java:4745)
11-11 07:20:33.032: E/AndroidRuntime(2033): at java.lang.reflect.Method.invokeNative(Native Method)
11-11 07:20:33.032: E/AndroidRuntime(2033): at java.lang.reflect.Method.invoke(Method.java:511)
11-11 07:20:33.032: E/AndroidRuntime(2033): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
11-11 07:20:33.032: E/AndroidRuntime(2033): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-11 07:20:33.032: E/AndroidRuntime(2033): at dalvik.system.NativeStart.main(Native Method)
11-11 07:20:33.032: E/AndroidRuntime(2033): Caused by: android.os.NetworkOnMainThreadException
11-11 07:20:33.032: E/AndroidRuntime(2033): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
11-11 07:20:33.032: E/AndroidRuntime(2033): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
11-11 07:20:33.032: E/AndroidRuntime(2033): at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
11-11 07:20:33.032: E/AndroidRuntime(2033): at libcore.io.IoBridge.connect(IoBridge.java:112)
11-11 07:20:33.032: E/AndroidRuntime(2033): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
11-11 07:20:33.032: E/AndroidRuntime(2033): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
11-11 07:20:33.032: E/AndroidRuntime(2033): at java.net.Socket.connect(Socket.java:842)
11-11 07:20:33.032: E/AndroidRuntime(2033): at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
11-11 07:20:33.032: E/AndroidRuntime(2033): at org.apache.http.impl.conn.DefaultClientConnectionOperator.
openConnection(DefaultClientConnectionOperator.java:144)
11-11 07:20:33.032: E/AndroidRuntime(2033): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
11-11 07:20:33.032: E/AndroidRuntime(2033): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
11-11 07:20:33.032: E/AndroidRuntime(2033): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
11-11 07:20:33.032: E/AndroidRuntime(2033): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
11-11 07:20:33.032: E/AndroidRuntime(2033): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
11-11 07:20:33.032: E/AndroidRuntime(2033): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
11-11 07:20:33.032: E/AndroidRuntime(2033): at com.uncocoder.myapp.ImageChooser.uploadImage(ImageChooser.java:285)
11-11 07:20:33.032: E/AndroidRuntime(2033): at com.uncocoder.myapp.ImageChooser.onActivityResult(ImageChooser.java:160)
11-11 07:20:33.032: E/AndroidRuntime(2033): at android.app.Activity.dispatchActivityResult(Activity.java:5192)
11-11 07:20:33.032: E/AndroidRuntime(2033): at android.app.ActivityThread.deliverResults(ActivityThread.java:3137)
11-11 07:20:33.032: E/AndroidRuntime(2033): ... 11 more
پاسخها 1
مشکلم با اضافه کردن این دو خط به onCreate حل شد
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات