بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

آپلود عکس از گوشی بر روی سرور

مدیریت گفتگو
eduitn 12 سال پیش
آخرین تغییر: 11 سال پیش

سلام ببخشید من میخواستم یه برنامه نویسم که به کاربر قابلیت اپلود عکس رو بده یعنی فرد بتونه عکس بگیره و داخل سرور ما اپلود کنه امکانش هست راهنماییم کنید سپاسگدارم

نظرات

پاسخ‌ها 1

مجتبی یگانه 12 سال پیش

  private DefaultHttpClient mHttpClient;


    public ServerCommunication() {
        HttpParams params = new BasicHttpParams();
        params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
        mHttpClient = new DefaultHttpClient(params);
    }


    public void uploadUserPhoto(File image) {

        try {

            HttpPost httppost = new HttpPost("some url");

            MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);  
            multipartEntity.addPart("Title", new StringBody("Title"));
            multipartEntity.addPart("Nick", new StringBody("Nick"));
            multipartEntity.addPart("Email", new StringBody("Email"));
            multipartEntity.addPart("Description", new StringBody(Settings.SHARE.TEXT));
            multipartEntity.addPart("Image", new FileBody(image));
            httppost.setEntity(multipartEntity);

            mHttpClient.execute(httppost, new PhotoUploadResponseHandler());

        } catch (Exception e) {
            Log.e(ServerCommunication.class.getName(), e.getLocalizedMessage(), e);
        }
    }

    private class PhotoUploadResponseHandler implements ResponseHandler {

        @Override
        public Object handleResponse(HttpResponse response)
                throws ClientProtocolException, IOException {

            HttpEntity r_entity = response.getEntity();
            String responseString = EntityUtils.toString(r_entity);
            Log.d("UPLOAD", responseString);

            return null;
        }

    }

به نقل از StackOverFlow  - کلید سرچ : android file upload

نتایج خوبی با کلید بالا بدست میاد ، برسی کنید

نظرات

uncocoder 12 سال پیش
دوست من، مشکل اگر حل شد اطلاع دهید.
امیرعلی 11 سال پیش
برای import کردن setting سه تا option وجود داره که هیچ کدومشون جواب نمیده. من لایبرری های apache-mime4j-0.6.1 و httpclient-4.1 و http-core-4.1 و httpmime-4.1 رو هم اضافه کردم ولی باز هم مشکل داره .
مجتبی یگانه 11 سال پیش
یه پاسخ کامل تر تو انجمن گذاشتم ( سوال اش هم خودم پرسیده بودم ) که بعدا به درخواست دوستان سورس کامل اش رو تو گیت هاب ام هم گذاشتم ، اون کد رو تست کردم و کاملا جواب میده :)
امیرعلی 11 سال پیش
ایول دمت گرم. فقط یه سوال : روی گوشی بخوام اجرا بگیرم باید valid ip بدم؟ چون با local اجرا نمیشه .
امیرعلی 11 سال پیش
آقای A.L.U عزیز حل شد . خیلی بدرد خورد . واقعا ممنون .
کاشی زاده 11 سال پیش
لزومی به استفاده از کتابخانه هم نیست میتونید عکس رو به base-64 ببرید و String ارسال کنید و در سمت سرور هم رشته دریافتی رو decode کنید . البته در این روش حدودا 20% به حجم فایل اضافه میشه .فقط برای دوستانی که علاقه ای به استفاده از کتابخانه ندارند .

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .