انجمن سایت کلیدستان


رتبه موضوع:
  • 2 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
آپلود عکس روی هاست یا سرور! (در برنامه نویسی اندروید)

آپلود عکس روی هاست یا سرور! (در برنامه نویسی اندروید)

#1
سلام خسته نباشید.خیلی ممنون از آموزشای قشنگتون...
من از بیشتر مطالبتون استفاده کردم به خصوص مطلبی که در مورد دانلود عکس از اینترنت گذاشته بودین که اگر قبلا دانلود شده بود دیگه دانلود نمی کرد.چون یه پکیج آماده بود کار باهاش خیلی راحت بود و ما فقط ورودی رو وارد می کردیم.
خوب الان مشکل بنده وشاید خیلیا آپلود عکس باشه...
به عنوان مثال یک کاربر اول باید عکسشو آپلود کنه که بعد بخواد اون رو دانلود کنه و ببینه...
و اینکه لینک آپلود رو به ما بر گردنه تا اون لینک رو بتونیم در دیتا بیسمون وارد کنیم. که به عنوان مثال آدرس عکس پرو فایل هر کاربر در ستونی توی جدول کاربرامون توی دیتابیس مثلا mysql امون ثبت شه... لطفا توی کدها توضیحاتشم قرار بدین که متوجه روال کار باشیم..
اگه براتون مقدوره روالی باشه که برنامه ها به شکل روتین طی می کنن یعنی انتخاب عکس از گالری یا استفاده از دوربین ،کراپ عکس و ارسال به هاست یا سرور! 
سایتتون بی نظیره !
خیلی ممنون می شم اگر کمک کنید
پاسخ
 سپاس شده توسط admin

آپلود عکس روی هاست یا سرور! (در برنامه نویسی اندروید)

#2
سلام دوست عزیز.
از لطف شما سپاسگذارم. 
بنده تاکنون آپلود فایل توسط برنامه اندروید را کار نکرده ام، ولی چون آپلود فایل را در طراحی سایت پیاده سازی کرده ام، می توانم یک سری راهنمایی در اختیار شما قرار بدهم که امیدوارم برایتان مفید باشد.
ما باید در سمت سرور، با یک زبان دلخواه (که معمولا PHP انتخاب می شود)، صفحه ای را برای دریافت فایل طراحی کنیم. شما نگاهی به کلید زیر بیندازید :

کلید شماره 458

در این کلید شرح داده ایم که چگونه یک فرم HTML برای آپلود (upload) فایل طراحی شود. توصیه بنده این است که در اولین مرحله، تنها سعی شود که همین فرم HTML در سایت طراحی شود و با دستکاری کدهای آن، نحوه عملکرد آن را متوجه شوید. بعد می توانید قسمت فرم HTML را حذف کرده و تنها بخش پردازشی PHP را نگه دارید (اینگونه قبلا از عملکرد صحیح کدهای پردازشی نیز مطمئن شده اید).
اگر به کدها توجه کنید، متوجه می شوید که فایل با روش POST ارسال می شود. در کدهای PHP ، با متغیری با نام FILES_$ سر و کار داریم. متغیر فوق سراسری FILES_$ ، حاوی اطلاعات فایل در حال آپلود می باشد. چون فایل با روش POST ارسال می شود، بنابراین باید در برنامه اندروید، روش HttpPost (کلید شماره 313) را به کار ببریم که اطلاعات را با روش POST به صفحه مورد نظر در سرور، ارسال می کند، اما برای چگونگی استفاده از روش HttpPost برای ارسال فایل (چون در کلید شماره 313 ، ما تنها چند متن کوتاه ارسال می کردیم، نه یک فایل بزرگ)، لینک زیر را ببینید (از multipart entity استفاده کنید) :

http://stackoverflow.com/questions/20995...-using-php

فراموش نکنید که اجازه دسترسی (permission) به اینترنت را در فایل AndroidManifest.xml پروژه اندروید ذکر نمایید (گاهی اون قدر سرگرم بخش های پیچیده برنامه اندروید می شویم که این موارد فراموش می شود).
بعد از کدهای پردازشی PHP در صفحه موجود در سرور، یک سری کد PHP نیز بنویسید که بر اساس موفقیت آمیز بودن یا نبودن آپلود، یک سری اطلاعات را به صورت json (کلید شماره 2651) در خروجی صفحه چاپ کند و برنامه اندروید، بر اساس آن خروجی دریافت شده از صفحه php ، تشخیص می دهد که آپلود موفقیت آمیز بوده یا نه و همچنین اگر موفقیت آمیز بوده، اطلاعات دیگری در مورد ذخیره شدن فایل را نیز از متن دریافت شده (به شکل json) استخراج می کند (می توانید ابتدا درگیر روش json نشوید و کاری با خروجی صفحه نداشته باشید و صفحه را بدون بررسی خروجی آن، تست کنید و ببینید که از طریق برنامه اندروید، فایل در سرور قرار می گیرد یا خیر، بعد که از موفقیت آمیز بودن آن مطمئن شدید، سپس خروجی صفحه به صورت json را هم طراحی کنید زیرا شاید در مواردی، آپلود فایل به دلیل کندی اینترنت و ... با شکست مواجه شود. همچنین ابتدا با یک فایل کوچک، آپلود فایل را تست کنید).

همچنین بد نیست که همان فرم HTML برای آپلود فایل را یک بار هم در WebView تست کنید و ببینید که به چه صورت عمل می کند (البته آن را برای اندروید 4.4 هم تست کنید، زیرا در نسخه های اخیر اندروید، عملکرد WebView کمی تغییر داده شده است)، البته احتمالا دنبال راهی هستید که با WebView سر و کار نداشته باشید، ولی گفتم این مورد را هم تذکر داده باشم.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط sohrabjam

آپلود عکس روی هاست یا سرور! (در برنامه نویسی اندروید)

#3
بسیار از شما سپاسگذارم.!
نکات بسیار خوبی بود...
فکر می کنم این لینک هم خوب باشه برای این کار:
http://stackoverflow.com/questions/21306...php-server
پاسخ
 سپاس شده توسط admin ، شماره مجازی امارات


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان