نمایش نتایج 1 تا 21 از 21

نام تاپیک: نحوه ی آپلود عکس

  1. #1

    نحوه ی آپلود عکس

    سلام دوستان
    من چه طوری می تونم یه عکس رو در سیلورلایت آپلود کنم، در دیتابیس ذخیرش کنم و همچنین اون رو از دیتابیس باز خوانی کنم؟

    با تشکر فراوان

  2. #2
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نحوه ی آپلود عکس

    سلام به همه
    با اپن فایل دیالوگ عکس رو بگیر
    یه مموری استریم درست کن و فایل دریافت شده رو بریز توش
    بعد یه رشته از بایت درست که به اندازه ی طول فایل.
    با تابع خواند داخل مموری استریم، بایت ارئی رو پر کن.
    حالا بایت اری رو بفرست سرور ساید و بریز تو یه فیلد ایمیج یا ورباینری تو دیتابیس!

  3. #3
    کاربر دائمی آواتار d_derakhshani
    تاریخ عضویت
    آبان 1389
    محل زندگی
    تهران، d.derakhshani@yahoo.com
    پست
    510

    نقل قول: نحوه ی آپلود عکس

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

  4. #4
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نحوه ی آپلود عکس

    سلام به همه
    در مورد روش ارسال به صورت تکه تکه من یه نمونه ای قبل نوشتم. براتون آپلود میکنم. اگه جایی به توضیح لازم بود بفرمایین تا عرض کنم.
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله taghvajou : چهارشنبه 08 شهریور 1391 در 19:03 عصر دلیل: ضمیمه کردن سورس

  5. #5

    نقل قول: نحوه ی آپلود عکس

    خیلی ممنون از راهنماییتون

    فقط اینکه نمی دونم چطوری باید "بایت اری رو بفرستم به سرور ساید"، ( همون طور که آقای taghvajou فرمودند) می شه در این مورد هم راهنمایی بفرمایید
    باز هم ممنون

  6. #6
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نحوه ی آپلود عکس

    سلام به همه
    اگه منظورتون اینه که با چه تابعی بنویسین برای ارسال بایت ارئی:
    تو سرویس سمت سروت یه متد بنویس که ورودیش بایت اری باشه یعنی

    [OperationContract]
    public bool SendImage (byte[] img)
    {
    // save in to database
    // if successful return True, if Failure return False
    }


    اگه منظورتون اینه که به چه روشی عکس رو به بایت ارئی تبدیل کنین:
    که نمونه اش تو همون سورسی که تو پاسخ قبلی گذاشته بودم، میتونستین پیدا کنین

    OpenFileDialog dlg = new OpenFileDialog();
    dlg.ShowDialog();
    FileStream file = dlg.File.OpenRead();
    byte[] byt = new byte[file.Length];
    file.Read(byt, 0, (int)file.Length);



    اگه منظور دیگه ای دارین، یه کم شفاف تر بفرمایین.
    آخرین ویرایش به وسیله taghvajou : شنبه 11 شهریور 1391 در 17:18 عصر

  7. #7

    نقل قول: نحوه ی آپلود عکس

    ممنون
    این کار رو انجام دادم ولی در دیتابیس ذخیره نمی کند!!!

  8. #8
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نحوه ی آپلود عکس

    کدام کار رو؟
    اولا: بریک پوینت بذار ببین داده تا کجا میرسه؟
    دوما: من که اصلا در مورد ذخیره در دیتابیس چیزی نگفتم، احتمالا ایراد تو قسمت نحوه ذخیره در پایگاه داده ات است؟

  9. #9

    نقل قول: نحوه ی آپلود عکس

    منظورم نوشتن این کدهاست
    برای ذخیره در دیتا بیس هم نوشتم:

    [OperationContract]
    public bool Image(byte[] img)
    {
    Table<User_Info> user = d.GetTable<User_Info>();
    User_Info u = new User_Info();
    u.Image = img;
    user.InsertOnSubmit(u);
    d.SubmitChanges();
    return true;
    }


    user_Info اسم یه جدول در دیتابیسم هست که فعلا دو فیلد ID و Image را دارد . فیلد ID نیز identity می باشد و فیلد Image هم از نوع varbinary(Max) است. پس از دریافت عکس و تبدیل آن به بایت اری این تابع را صدا زده ام.

  10. #10
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نحوه ی آپلود عکس

    دقیقا اول تابع یه بریک پوینت بذار و بگو آیا بایت ارئی با طول درست این سمت میاد یا نه تا من باقیش رو بگم؟

  11. #11

    نقل قول: نحوه ی آپلود عکس

    عمل تبدیل به بایت رو درست انجام میده ولی break point که اول این تابع گذاشتم اصلا کار نمی کنه! انگار اصلا وارد این تابع نمیشه تا عمل ذخیره در دیتابیس رو انجام بده

  12. #12

    نقل قول: نحوه ی آپلود عکس

    break point ی که ابتدای این تابع میذارم اصلا کار نمی کنه یعنی اصلا وارد این تابع نمیشه که بخواد عملیات ذخیره سازی رو انجام بده

  13. #13
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نحوه ی آپلود عکس

    مرورگری که باهاش اجرا میکنی فایرفاکسه؟ چون وقتی با فایرفاکس (به عنوان مرورگر دیفالت) برنامه اجرا میشه، تو بریک پوینت ها نمی ایستد!
    و اینکه آیا پریک پوینت هم سرور ساید کار نمیکنه هم کلاینت ساید؟

  14. #14

    نقل قول: نحوه ی آپلود عکس

    مرورگرم فایر فاکس هست
    چه طور باید تغییرش بدم به internet explorer تا break point ها کار کنن؟

  15. #15
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نحوه ی آپلود عکس

    سلام
    به عکس پیوستی یه نگاه بنداز لطفا
    عکس های ضمیمه عکس های ضمیمه

  16. #16

    نقل قول: نحوه ی آپلود عکس

    سلام مشکلش رو پیدا کردم ولی نمی دونم یعنی چی!!!
    break point که گذاشتم، عکس رو در آرایه byte درست ریخت و این آرایه رو مقدار دهی کرد اما وارد تابع ImageAsync(byte که در صفحه ی قبل نوشتیم و برای ذخیره عکس در دیتابیس بود، نشد و این error رو داد:

    در کلاس Reference.cs خط ; (base.EndInvoke("Image", _args, result ، را سبز رنگ کرده و خطای زیر را در کادر پایین آن نوشت :

    The remote server returned an error: NotFound

  17. #17
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نحوه ی آپلود عکس

    سلام، اگه ممکنه سورست روآپلود کن تا ببینیم دردش چیه؟
    دلایلی زیاد میتونه داشته باشه! اینکه گویا نیست به خاطر اینه که بعضی از استثناها تو ویژوال استودیو خوب مدیریت نشدن. البته میتونین تو کانفیگ پروژه تنظیم کنه که به صورت یه لوگ تریس ذخیره بشه.
    آخرین ویرایش به وسیله taghvajou : شنبه 08 مهر 1391 در 15:29 عصر

  18. #18

    نقل قول: نحوه ی آپلود عکس

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

    با تشکر

  19. #19
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نحوه ی آپلود عکس

    سلام جناب حسنی
    آدرس ایمیل بنده taghvajou ات جیمیل یاهو لایو هات میل فیس بوک اسکایپ توییتر اووو و ...
    شما به جیمیل بفرست.

  20. #20

    نقل قول: نحوه ی آپلود عکس

    سلام ، فرستادم
    بازم ممنون

  21. #21
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نحوه ی آپلود عکس

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


    ذیلا من تابعی که خودم ازش استفاده میکنم رو خدمتتون تقدیم میکنم.
    public static byte[] CompressImage(byte[] bytes, double maxHeight, double maxWidth)
    {
    byte[] _result;

    BitmapImage bitmap = new BitmapImage();
    bitmap.SetSource(ConvertBytesToStream(bytes));
    System.Windows.Controls.Image image = new System.Windows.Controls.Image();
    image.Effect = new DropShadowEffect()
    {
    BlurRadius = 0,
    ShadowDepth = 0
    };
    image.Source = bitmap;

    double scaleX = 1;
    double scaleY = 1;

    if (bitmap.PixelWidth > maxWidth)
    scaleX = maxWidth / bitmap.PixelWidth;
    if (bitmap.PixelHeight > maxHeight)
    scaleY = maxHeight / bitmap.PixelHeight;

    double scale = Math.Min(scaleY, scaleX);
    ScaleTransform ss = new ScaleTransform() { ScaleX = scale, ScaleY = scale };
    int newWidth = Convert.ToInt32(bitmap.PixelWidth * scale);
    int newHeight = Convert.ToInt32(bitmap.PixelHeight * scale);
    WriteableBitmap resultBitmap = new WriteableBitmap(newWidth, newHeight);
    resultBitmap.Render(image, new ScaleTransform() { ScaleX = scale, ScaleY = scale });
    resultBitmap.Invalidate();
    _result = ConvertStreamToByte(JpegEncode(resultBitmap, 40));

    return _result;
    }


تاپیک های مشابه

  1. نحوه ی آپلود عکس در سایت برنامه نویس
    نوشته شده توسط hdv212 در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 6
    آخرین پست: جمعه 16 فروردین 1387, 23:21 عصر
  2. نحوه وارد کردن عکس Jpeg به بانک از نوع اکسس
    نوشته شده توسط احسان آریانو در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: یک شنبه 08 خرداد 1384, 02:58 صبح
  3. مشکل در آپلود عکس ؛ فایل و ...
    نوشته شده توسط Morteza1362 در بخش Classic ASP
    پاسخ: 0
    آخرین پست: پنج شنبه 02 مهر 1383, 00:36 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •