رفتن به مطلب
بخش Unity به انجمن اضافه شد
  • 0

ایجاد تصویر پروفایل برای کاربر در بیسیک 4 اندروید


mja89

سوال

باسلام.

دوستان من تو برنامه ام امکان ثبت نام و لاگین دارم .

اطلاعات ثبت نام به یک دیتابیس انلاین فرستاده میشه و داخل محیط کاربری نشون داده میشه همچنین بعد از ثبت نام داخل دیتابیس افلاین مشخصات فرد هم ثبت میشه و برای نمایش در یک منوی متریال از اون استفاده میکنم که شبیه به تویتر و گوگل پلاس هست حالا میخوام بدونم چطوری میشه از کاربر هنگام ثبت نام تصویرش رو هم گرفت یا حتی بعد ثبت نام قسمت ویرایش اطلاعات مثلا بشه عکس پروفایل اضافه کرد.

لطفا راهنمایی کنید که باید با دیتابیس انلاین اینکار انجام بشه یا اینکه مثلا روی هاست عکس آپلود بشه و ادرس اپولود رو با ای دی شخص ست کنم و بعدا از طریق هر ای دی عکس رو از هاست بگیرم ، اگه اموزش یا سورسی در این ارتباط هست ممنون میشم کمک کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

9 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

برای انتخاب عکس از حافظه گوشی از کتابخونه هایی با عنوان image picker باید استفاده کنید

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

و داخل جدول دیتابیستون قسمت یوزرهاتون یه فیلد با عنوان image داشته باشید و نام فایل رو تو اون فیلد بذارید

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

 

برای انتخاب عکس ::

 

برای دانلود عکس :

کتابخانه قدرتمند AriaGlide برای b4a - تـولـیـداتـــ انـجـمــن - مرکز پاسخگویی به سوالات برنامه نویسی

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون بهنام جان.

یه مقدار بیشتر توضیح میدی .

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

یه اموزش درست حسابی هم اگه تو انجمن سراغ داری که راجع به لود عکس از دیتابیس با اسم فایل یا ادرس فایل باشه معرفی میکنی چون هرچی گشتم تو انجمن ندیدم اموزش اختصاصی عکس از دیتابیس انلاین رو

فدای محبتت

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام 

برای اسم گذاری روی عکس بهترین کار استفاده از تاریخ و زمان هست که اسم گذاری رو باید با php انجام بدید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوست عزیز،

از شناسه ی یکتای کاربر استفاده کنید خب.

مثلا اگر ایمیل میگیرید ایمیلش رو + تاریخ و زمان آپلود رو به عنوان اسم تصویر ذخیره کنید و در دیتابیس ثبت کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 1397/08/07, 17:13:32، mja89 گفته است :

باسلام.

دوستان من تو برنامه ام امکان ثبت نام و لاگین دارم .

اطلاعات ثبت نام به یک دیتابیس انلاین فرستاده میشه و داخل محیط کاربری نشون داده میشه همچنین بعد از ثبت نام داخل دیتابیس افلاین مشخصات فرد هم ثبت میشه و برای نمایش در یک منوی متریال از اون استفاده میکنم که شبیه به تویتر و گوگل پلاس هست حالا میخوام بدونم چطوری میشه از کاربر هنگام ثبت نام تصویرش رو هم گرفت یا حتی بعد ثبت نام قسمت ویرایش اطلاعات مثلا بشه عکس پروفایل اضافه کرد.

لطفا راهنمایی کنید که باید با دیتابیس انلاین اینکار انجام بشه یا اینکه مثلا روی هاست عکس آپلود بشه و ادرس اپولود رو با ای دی شخص ست کنم و بعدا از طریق هر ای دی عکس رو از هاست بگیرم ، اگه اموزش یا سورسی در این ارتباط هست ممنون میشم کمک کنید.

سلام 

اول عذرخواهی میکنم  از اساتید گروه که اظهارنظر درمحضرشان رو ببخشندوبی ادبی تلقی نشه . 

 

بعدش 

ببینید روش کار خب اینطوریه :

 

اولا دو راه برای ارسال تصاویر کاربری به هاست ونمایشش وجود داره :

یکی اینه که خود تصویر رو به داخل دیتابیس ارسال کنید

ونمایشش بدهید که طبق فرموده اساتیدمحترم در این انجمن به صلاح نمی باشد

که هم حجم دیتابیس رو بیخودی افزایش میدیدوسرعت کارپایین میاد

وهم سرعت فراخوانی اش کمتر از زمانی هست که تصویر رو بدون هیچ واسطه در هاست ذخیره میکنید

 

پس راه دوم که بهتره چیه؟ اولا در هاست یک پوشه مخصوص ذخیره تصاویر ایجاد کنید

بعدش در جدولی که اطلاعات کاربرانتان ذخیره میشه ، یک فیلد مجزا درست کنید و مثلا اسمش رو بگذارید (user_pic)   ودر اون فیلد دیتابیس تنها نام تصاویری که کاربر ارسال کرده  رو ذخیره کنید .

با کد php زیر تصاویر رو آپلود ودر پوشه تصاویر ذخیره کنید ، یا ازکتابخانه هایی که دوستان برای اینکار ایجاد کرده اند استفاده کنید. 

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

البته دراینصورت یک کار تنها باقی میمونه ، اونم اینکه : موقع آپلود تصاویر توسط کدهای php حجم تصاویر رو کم کنید

ودرسایز و پسوند دلخواه ذخیره شون کنیدتا حجم هاست بیخود پرنشه و دانلودشونم زمانبر نباشه .

که اونم می تونید با فایل (WideImage.php) اینکارها رو انجام بدهیدکه نمونه مثالش رو در زیر میفرستم  .

 

 

<?php        
//آپلود تصویر
$file_path = "uploads/";
$file_path = $file_path . basename( $_FILES['uploaded_file']['name']);
        if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {   
         echo "success ". $headers["uploaded_file"];      
  } else{      
      echo "fail";  
      }   
  ?>

 

 

<?php

include 'lib/WideImage.php';
//load image
$image=WideImage::loadFromFile('mypic.jpg');
//save image تغییر فرمت تصویر
$image->saveToFile('mypic.png');



//load image
$image=WideImage::loadFromFile('mypic.png');
//resizeimage تغییر اندازه تصویر
$newimage=$image->resize(200, 115);


//گردکردن اطراف تصویر
//$newimage = $newimage->roundCorners(20, $white, 1, WideImage::SIDE_ALL);
///////////مخلوط کردن دوعکس merge 
//  $newimage = WideImage::load('mypic.png');
//$base = WideImage::load('xxxx.png');
//$newimage = $base->merge($newimage, "right -32", "bottom-12",1000);


 //ذخیره تصویر
$newimage->saveToFile('mypic2.png');

?>

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 17 ساعت قبل، mja89 گفته است :

چطوری مهندس .

مثلا 250 تا کاربر داری اسم فایل رو براساس تاریخ بدی ؟؟؟؟

تاریخ +زمان 

مثلا20181031101735

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

در در 1397/08/09, 05:29:46، نورنما گفته است :

سلام 

اول عذرخواهی میکنم  از اساتید گروه که اظهارنظر درمحضرشان رو ببخشندوبی ادبی تلقی نشه . 

 

بعدش 

ببینید روش کار خب اینطوریه :

 

اولا دو راه برای ارسال تصاویر کاربری به هاست ونمایشش وجود داره :

یکی اینه که خود تصویر رو به داخل دیتابیس ارسال کنید

ونمایشش بدهید که طبق فرموده اساتیدمحترم در این انجمن به صلاح نمی باشد

که هم حجم دیتابیس رو بیخودی افزایش میدیدوسرعت کارپایین میاد

وهم سرعت فراخوانی اش کمتر از زمانی هست که تصویر رو بدون هیچ واسطه در هاست ذخیره میکنید

 

پس راه دوم که بهتره چیه؟ اولا در هاست یک پوشه مخصوص ذخیره تصاویر ایجاد کنید

بعدش در جدولی که اطلاعات کاربرانتان ذخیره میشه ، یک فیلد مجزا درست کنید و مثلا اسمش رو بگذارید (user_pic)   ودر اون فیلد دیتابیس تنها نام تصاویری که کاربر ارسال کرده  رو ذخیره کنید .

با کد php زیر تصاویر رو آپلود ودر پوشه تصاویر ذخیره کنید ، یا ازکتابخانه هایی که دوستان برای اینکار ایجاد کرده اند استفاده کنید. 

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

البته دراینصورت یک کار تنها باقی میمونه ، اونم اینکه : موقع آپلود تصاویر توسط کدهای php حجم تصاویر رو کم کنید

ودرسایز و پسوند دلخواه ذخیره شون کنیدتا حجم هاست بیخود پرنشه و دانلودشونم زمانبر نباشه .

که اونم می تونید با فایل (WideImage.php) اینکارها رو انجام بدهیدکه نمونه مثالش رو در زیر میفرستم  .

 

 


<?php        
//آپلود تصویر
$file_path = "uploads/";
$file_path = $file_path . basename( $_FILES['uploaded_file']['name']);
        if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {   
         echo "success ". $headers["uploaded_file"];      
  } else{      
      echo "fail";  
      }   
  ?>

 

 


<?php

include 'lib/WideImage.php';
//load image
$image=WideImage::loadFromFile('mypic.jpg');
//save image تغییر فرمت تصویر
$image->saveToFile('mypic.png');



//load image
$image=WideImage::loadFromFile('mypic.png');
//resizeimage تغییر اندازه تصویر
$newimage=$image->resize(200, 115);


//گردکردن اطراف تصویر
//$newimage = $newimage->roundCorners(20, $white, 1, WideImage::SIDE_ALL);
///////////مخلوط کردن دوعکس merge 
//  $newimage = WideImage::load('mypic.png');
//$base = WideImage::load('xxxx.png');
//$newimage = $base->merge($newimage, "right -32", "bottom-12",1000);


 //ذخیره تصویر
$newimage->saveToFile('mypic2.png');

?>

 

عالی مهندس سپاس فروان 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...