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

نام تاپیک: نمایش عکس از روی سرور

  1. #1

    Question نمایش عکس از روی سرور

    سلام دوستان بنده یک برنامه کلاینت سرور درست کردم بسیار سادست
    برای بک گراند برنامه ی کلاینتم می خوام یک عکس رو از سرور من نشون بده.
    اگر فرض کنیم
    IP : 47.221.21.290 سرور این باشد و عکس در پوشه ی c:/background/back.png باشد چطور این کارو بکنم.
    من از indy client , server استفاده کردم.
    دوستان نمی خوام دانلود بشه و جای ذخیره بشه بعد نمایش بده.
    اینطور نمی خوام.
    با هر بار اجرا به اون آدرس دسترسی پیدا کنه و نمایش بده.

    عید بر شما مبارک

  2. #2

    نقل قول: نمایش عکس از روی سرور

    راه خیلی زیاده
    اگه امنیت برات مهم نیست می تونی مستقیم با دادن آدرس آی پی و مسیر ، عکس رو باز کنی
    در غیر این صورت بایداز FileStream استفاده کنی

    قبلا یک تاپیک در مورد توی قسمت شبکه ایجاد کرده بودیم که کلا در همین مرد بحث میکنه
    یک سرچ کوچولو پیداش میکنی

  3. #3

    نقل قول: نمایش عکس از روی سرور

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

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

    نقل قول: نمایش عکس از روی سرور

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

    قبلا یک تاپیک در مورد توی قسمت شبکه ایجاد کرده بودیم که کلا در همین مرد بحث میکنه
    یک سرچ کوچولو پیداش میکنی
    سلام اقای هادی
    با استفاده از IP تصویر باز نمی شود بهتر است اگر در برنامه اش از sql server استفاده می کند از امکانان اسکیوال سرور بهر ببرد مثال زیر


    SELECT MyImage FROM
    OPENROWSET(BULK N'E:\1.jpg', SINGLE_BLOB) as tempImg

    دستور بالا تصویر موجود در درایو E:\ بر روی سرور را select می کند
    1) اگر شما از کلاینت به سرور وصل بشوید براحتی میتوانید در محیط برنامه نویسی (دلفی / سی شارپ یا هر زبان دیگر) تصویر را نمایش بدهید
    من یک مثال ساده برای دلفی قرار می دهم بقیه با خودتان

    Procedure ShowPFullImage;
    var
    BlobStream: TStream;
    JPEGImage: TJPegImage;
    begin
    Try
    if MainQImageThumbnail.AsString <> '' Then
    Begin
    BlobStream := MainQ.CreateBlobStream(MainQImageThumbnail,bmRead) ;
    Try
    JPEGImage := TJPEGImage.Create;
    try
    JPEGImage.LoadFromStream(BlobStream);
    Image1.Picture.Assign(JPEGImage);
    finally
    JPEGImage.Free;
    end;
    finally
    BlobStream.Free;
    end;
    End ;
    Except
    End;
    End;


  5. #5

    نقل قول: نمایش عکس از روی سرور

    پیشنهاد میکنم ، برای راحتی خودتون و همچنین پیاده سازی راحتتر و همچنین خاصیت Resume از وب سرور استفاده کنید.
    یعنی چی؟
    یه وب سرور مثل iis رو سرورتون نصب کنید و با کامپوننت Idhttp اقدام به دانلود و لود استریم به صورت مستقیم در شی ایمیج کنید.
    آخرین ویرایش به وسیله Mask : یک شنبه 25 خرداد 1393 در 10:19 صبح


  6. #6

    نقل قول: نمایش عکس از روی سرور

    سلام اقای هادی
    با استفاده از IP تصویر باز نمی شود بهتر است اگر در برنامه اش از sql server استفاده می کند از امکانان اسکیوال سرور بهر ببرد مثال زیر
    سلام بر جنام ولی زاده گل
    چرا عزیزم باز میکنه ، من خودم تست کردم
    البته با اسم سرور بهتر جواب میده

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


    یه وب سرور مثل iis رو سرورتون نصب کنید و با کامپوننت Idhttp اقدام به دانلود و لود استریم به صورت مستقیم در شی ایمیج کنید.
    دلاور شما قرار بود یک چند تاپیک آموزشی بزارید ما حاش رو ببریم
    اونا که نشد
    لااقل این مبحث رو چند تا منبع آموزشی بده یه نگاهی بندازیم

  7. #7

    نقل قول: نمایش عکس از روی سرور

    برای دریافت فایل عکس از روی سرورهای ویندوزی ، 3 روش خوب و کار آمد هست.فعلا کاری به sql نداریم.
    1-مدیریت ارسال و دریافت فایل توسط فایل استریم: که در این روش به علت اینکه مدیریت ارسال و دریافت کاملا با عهده برنامه نویس هست و همچنین ارسال و دریافت در یک کانکشن و خاصیت ادامه دانلود به صورت ذاتی وجود ندارد ، اصلا پیشنهاد نمیشود. که در این روش باید از پروتکلهای TCP و یا UDP استفاده کنیم.
    2-ارسال توسط وب سرور و دریافت در برنامه : در این روش هم ، مانند روش اول به صورت فایل استریم عکس و فایل ارسال و دریافت میشود، اما با این تفاوت که برنامه سمت سرور رو دیگه برنامه نویس مدیریت نمیکند و ، برنامه سمت سرور رو برنامه نویسان بزرگ کمپانی هایی مثل مایکروسافت زحمتش رو برامون میکشند. و از پروتکل http استفاده میشود.
    این وب سرور ها (مانند IIS - Wamp _ Xamp ,...)امکانات بزرگی دارند که اگر بخواهیم در روش اول ، اون رو پیاده سازی کنیم ، زمان بسیار زیادی رو تلف کردیم. و باز هم به بهینه و اطمینانی که این وب سرورها دارند نمیرسیم.
    امکانات :
    1- خاصیت تکه تکه دیافت کردن فایل
    2- خاصیت توقف و ادامه دریافت فایل
    3- ایجاد محدودیت دریافت مقدار بسته های دریافتی
    و...
    3- ارسال و دریافت فایل توسط Ftp سرور :
    در این روش هم باید یک Ftp سرور سمت سرور راه اندازی کرده و سپس درخواست دریافت فایل را از سمت کلاینت داده و استریم دریافتی را در شی ایمیج لود کنیم.

    پیاده سازی :
    روش اول : کافیه برنامه ای سمت سیستم دریافت کننده در حال اجرا باشد : روی پورتی که Listen هست، درخواست دریافت فایل رو گرفته و فایل رو دریافت میکند. و سیستم ارسال کننده هم اقدام به ارسال کند. توسط TCP

    سمت ارسال کننده :
    uses jpeg;

    procedure TForm1.Button1Click(Sender: TObject);
    var
    TcpClient: TIdTCPClient;
    MS: TMemoryStream;
    begin
    TcpClient := TIdTCPClient.Create();
    MS := TMemoryStream.Create;
    try
    with TcpClient do
    begin
    port := 1010;
    host := '127.0.0.1';
    ReadTimeout := -1;
    end;
    TcpClient.Connect;
    try
    Ms.LoadFromFile('c:\1.jpg');
    MS.Position := 0;
    TcpClient.IOHandler.WriteLn(IntToStr(Ms.Size));
    TcpClient.IOHandler.WriteBufferOpen;
    TcpClient.IOHandler.Write(Ms);
    TcpClient.IOHandler.WriteBufferClose;
    finally
    TcpClient.Disconnect;
    end;
    finally
    TcpClient.Free;
    MS.Free;
    end;
    end;


    سمت دریافت کننده :
    uses jpeg;

    procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
    var
    Jpg:TJPEGImage;
    PicSize:Integer;
    MemRecieveStreamPic:TMemoryStream;
    begin
    Jpg:=TJPEGImage.Create;
    MemRecieveStreamPic:=TMemoryStream.Create;
    try
    PicSize :=strtoint( AContext.Connection.IOHandler.ReadLn());
    AContext.Connection.IOHandler.ReadStream(MemReciev eStreamPic,PicSize,false);
    MemRecieveStreamPic.Position:=0;
    Jpg.LoadFromStream(MemRecieveStreamPic);
    Image1.Picture.Bitmap.Assign(jpg);


    finally
    MemRecieveStreamPic.Free;
    Jpg.Free;
    end;
    end;


    روش دوم : در ابتدا باید یک وب سرور نصب و راه اندازی کنیم . که من IIS و یا Wamp رو پیشنهاد میکنم
    پس از نصب ، و تنظیم پورت برنامه و Home Dir فایلهای مورد نظر را در پوشه های ایجاد شده در مسیر Home وب سرور قرار میدهیم.
    بوسیله کامپوننت Idhttp عکس رو دانلود و در شی ایمیج مستقیما لود میکنیم.
    uses  JPEG,pngimage;


    procedure ShowImageFromStream(AImage: TImage; AData: TStream);
    var
    JPEGImage: TJPEGImage;
    begin
    AData.Position := 0;
    JPEGImage := TJPEGImage.Create;
    try
    JPEGImage.LoadFromStream(AData);
    AImage.Picture.Assign(JPEGImage);
    finally
    JPEGImage.Free;
    end;
    end;


    procedure ShowPngImageFromStream(AImage: TImage; AData: TStream);
    var
    pngimage: TPngImage;
    begin
    AData.Position := 0;
    pngimage := TPngImage.Create;
    try
    pngimage.LoadFromStream(AData);
    AImage.Picture.Assign(pngimage);
    finally
    pngimage.Free;
    end;
    end;


    procedure TForm1.Button1Click(Sender: TObject);
    var
    ms: TMemoryStream;
    j: TJPEGImage;
    begin
    ms := TMemoryStream.Create;
    try
    IdHTTP1.Get(Edit1.Text, ms);
    ShowPngImageFromStream(Image1, ms);
    finally
    ms.Free;
    end;
    end;

    روش سوم :
    uses jpeg;

    procedure TForm1.Button1Click(Sender: TObject);
    var
    Ftp: TIdFTP;
    MS: TMemoryStream;
    Jpg:TJPEGImage;
    begin
    MS := TMemoryStream.Create;
    Ftp := TIdFTP.Create(nil);
    Jpg:=TJPEGImage.Create;
    try
    with Ftp do
    begin
    ProxySettings.ProxyType := fpcmNone;
    ProxySettings.Port := 21;
    Host := '127.0.0.1';
    Username := 'username';
    password := 'pass';
    end;
    Ftp.Connect;
    try
    Ftp.Get('127.0.0.1\Pic\1.jpg', MS);
    MS.Position := 0;
    jpg.LoadFromStream(MS);
    Image1.Picture.Assign(jpg);
    finally
    Ftp.Quit;
    Ftp.Disconnect
    end;
    finally
    Ftp.Free;
    MS.Free;
    Jpg.free;
    end;
    end;

    این هم آموزش یکی از قسمتهایی که قولش رو داده بودم.
    آخرین ویرایش به وسیله Mask : یک شنبه 25 خرداد 1393 در 17:47 عصر


  8. #8

    نقل قول: نمایش عکس از روی سرور

    در تکمیل صحبتهای Gold () در مورد روش FTP باید عرض کنم که اگه با کامپوننت های Indy کار کنیم قابلیت Resume میتونیم داشته باشیم ولی فایل رو نمیتونیم به صورت تکه تکه(مثل Internet Download Manager) دریافت کنیم. ولی اگه از کامپوننت های رایگان و کد باز Overbyte ICS استفاده کنیم این امکان رو هم داریم.
    یکی از روشهای خوب برای اینکه بفهمیم فایل به درستی دریافت میشه استفاده از فریمورک DataSnap و استفاده از مبحث فیلترها در اون هست که زیاد جای توضیح داره و اگه کسی بخواد این مورد رو یاد بگیره باید زمان بیشتری صرف کنه.

  9. #9

    نقل قول: نمایش عکس از روی سرور

    نقل قول نوشته شده توسط sajioo مشاهده تاپیک
    هادی جان من یک ساعت و نیمه دارم میگردم پیدا نشد
    لطف کن یک راهنمایی بکن یا اگه لینکشو داری برای بنده هم بذار
    تشکر
    داداش این لینک اون صفحه هستش
    https://barnamenevis.org/showthread.php?420434-%D8%B1%D9%88%D8%B4-%DA%A9%D9%BE%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-
    %D9%81%D8%A7%DB%8C%D9%84-%D8%A8%D8%B1-%D8%B1%D9%88%DB%8C-%D8%B3%D8%B1%D9%88%D8%B1-%D8%A8%D8%AF%D9%88%D9%86-%D8%A7%D8%B4%D8%AA%D8%B1%D8%A7%DA%A9-%DA%AF%D8%B0%D8%A7%D8%B4%D8%AA%D9%86-%D9%BE%D9%88%D8%B4%D9%87


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

  10. #10

    نقل قول: نمایش عکس از روی سرور

    2-ارسال توسط وب سرور و دریافت در برنامه : در این روش هم ، مانند روش اول به صورت فایل استریم عکس و فایل ارسال و دریافت میشود، اما با این تفاوت که برنامه سمت سرور رو دیگه برنامه نویس مدیریت نمیکند و ، برنامه سمت سرور رو برنامه نویسان بزرگ کمپانی هایی مثل مایکروسافت زحمتش رو برامون میکشند.
    و از پروتکل http استفاده میشود.
    داداش میشه هم سیستم کلاینت و هم سرور رو رمی یک سرور پیاده سازی کرد دیگه؟
    یعنی نیازی نیست حتما دو تا سسیتم برای این کار باشه؟

  11. #11

    نقل قول: نمایش عکس از روی سرور


    اگه تکمیل بشه حتما میزارم تا بچه ها هم استفاده کنند
    دمت گرم

    داداش میشه هم سیستم کلاینت و هم سرور رو رمی یک سرور پیاده سازی کرد دیگه؟
    یعنی نیازی نیست حتما دو تا سسیتم برای این کار باشه؟
    آره میشه مشکلی نیست

  12. #12
    کاربر دائمی آواتار khorsandreza
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    تبریز
    پست
    776

    نقل قول: نمایش عکس از روی سرور

    باید عرض کنم بنده حدود یکسال هست روی آرشیو عکس فیلم وصدا کار می کنم خیلی این روش ها را تست کردم بنظر من بهترین روش برای بارگذاری و نمیش عکس از روی سرور همان استفاده از فایل استریم اسکیوال 2008R2 به بعد است در روش که آقای هادی فرمودند تقریبا از 7 یا 8 ماه قبل یک تبادل اطلاعات داشتیم به نظر من ناکارآمد است چون باید بخشی از دسترسی های سرور را به کاربر بدهی که منطقی نیست من حالا در بخش آرشیو فیلم در دو جا بیش از 1 میلیون تصویر را مدیریت می کنم و بروی شبکه نصب شده است راحت ترین و کارا»د ترین روش است البته به نظر بنده
    باز من نظرات دیگر دوستان را مطالعه خواهم کرد .
    این هم یک نمونه از فرم تصویر
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg a1.jpg‏ (95.1 کیلوبایت, 121 دیدار)

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

    نقل قول: نمایش عکس از روی سرور

    نقل قول نوشته شده توسط Gold مشاهده تاپیک
    وجدانا به اندازه معلوماتتون نظر بدید..
    سلام استاد
    من ادعا ندارم سواد برنامه نویسی دارم و معلوماتهم خیلی کم است شما می توانید از تعداد تاپیک ها تشخیص بدهید و بی جهت تاپیک ایجاد نمی کنم ولی من هرچه فکر می کنم شما به چه روشی این مطلب را فرمودید عقلم بجای نرسید اگر منظورتان این است که شما مپ داریو درست کنید و یا از قابلیت $C مشابه استفاده بشه فکر می کنم امنین پایین هست اگه روش که فرمودید واضح تر بیان کنید ما نیز بهره ببریم.
    اگر خاطرتان باشد یک بار این موضوع در این تاپیک مطرح شد .
    شما همان نظر مطرح کرده بودید . ضعف امنیت ویندوز
    دقیقا جمله شماست
    "یکی از مشکلات امنیتی ای که در ویندوز وجود دارد اینه که درایو های سیستم بطور پیش فرض به اشتراک گذاشته می شوند و از طریق تایپ علامت $ پس از نام درایو می توان به کلیه محتویات آن دسترسی داشت.مثلا با تایپ $c در نوار آدرس می توان وارد این درایو شد.
    روش فعال و غیر فعال کردن اشتراک پیش فرض(default share) در ویندوز xp و سون یک مقدار متفاوت است. ولی از طریق دستورات command prompt در ویندوز xp و سون یکسان است. این دستورات را هم می توان در run وارد کرد و هم در CMD . برای غیر فعال کردن یک share می‌توان از دستور زیر استفاده کرد"
    من با استناد به این نطر شما عرض کردم امکان ندارد حالا شاید برداشت من اشتباه بوده باشد من دقیقا براساس اخرین گفته های شما روش فایل استریم اس کیوال سرور را مطالعه و ادامه دادم

  14. #14

    نقل قول: نمایش عکس از روی سرور

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

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

    به نظر من مزایاش :

    1- همگامی داده های ذخیر ه شده با محتوا هستش (یعنی مثلا خود تصاویر با اطلاعات داخل جداول)
    2- سرعت قابل قبوله ، چون به صورت استریم کار میکنه.
    3- عدم نیاز به کدهای زیاد و پیچیه توسط برنامه نویسه ، چون این کارها رو خود SQl Server انجام میده.

    اما معایبش:
    1- محدود بودن به نسخه خاص Sql Server
    2- سنگین بودن و مدت زمان نسبتا طولانی نصب Sql Server هستش.

    اما در زمانی که امنیت خیلی زیاد اهمیت نداشته باشه ، به نظر من ساده ترین راه ، استفاده از همون درایو های شیر شده شبکه و ایجاد Map Drive و خواندن و نشتن مستقیم در پوشه مورد نظر هستش
    من به شخصه از این روش تا الان استفاده میکردم.


    اما روشی که محمد میگه رو هنوز تست نکردم ولی با این توضیحات حتما روش کار آمدی هستش
    من میخوام این روش رو تست کنم.
    از دوستان هم میخوام ، هر کدوم میتونند روی این موضوع کارکنند تا اگه خدا بخواد ، یک نمونه برنامه کامل اینجا بزاریم تا این بحث رو برای همیشه به نتیجه ای برسونیم

    چون تاپیک هایی که در این مورد دیدم خیلی خیلی زیاده و متاسفانه همه نیمه کاره رها شده.
    امیدوارم این تاپیک رو نیمه کاره رها نکنیم.

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

    نقل قول: نمایش عکس از روی سرور

    سلام
    من فکر می کنم یک سوء تفاهم پیش آمده باشد .
    من یشتر بروی WinApp نمرکز دارم و کار را روی آن بستر انجام می دهم ولی فکر می کنم با مباحث بالا دوست بیشتر بروی WebApp متمرکز هستند .
    ولی اقای هادی منظور من این روش نیست "
    1- همگامی داده های ذخیر ه شده با محتوا هستش (یعنی مثلا خود تصاویر با اطلاعات داخل جداول)
    "من به هیچ عنوان تصاویر را داخل دیتابیس ذخیره نمی کنم من مسیر را ذخیره می کنم
    علی الحال از هکه دوستان تشکر می کنم

  16. #16

    نقل قول: نمایش عکس از روی سرور

    آقای خرسند؛

    SELECT MyImage FROM
    OPENROWSET(BULK N'E:\1.jpg', SINGLE_BLOB) as tempImg

    روی خیلی از سیستمهای سرور دستور مزبور توقیف است.
    To use the BULK option requires ADMINISTER BULK OPERATIONS permission.
    خیلی از سرورها، از جمله سرور های عادی شرکت ها اجازه اجرای چنین دستوراتی رو سلب می کنند.
    دستوراتی مثل OpenRowSet و ارسال ایمیل و Bulk و ...

    من به هیچ عنوان تصاویر را داخل دیتابیس ذخیره نمی کنم من مسیر را ذخیره می کنم
    اگر فایل در مقصد مورد نظر به هر دلیلی تغییر کرد یا حذف شد، تکلیف چیست؟
    بهتره در این موارد اگر قراره اس کیو الی کار انجام بشه، از طریق FileStreaming خود اس کیو ال انجام بشه..
    و مورد دیگه، اگر برنامه ما اصلا نیازی به اس کیو ال نداشت چی؟ مثلا با PostGre یا سیستم های دیگه..

    هادی؛
    توضیحاتی که داش محمد داد خیلی عالیه من دارم روش کار میکنم
    محمد کیه؟!

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

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

    برادر حمزه، مشکل فولدری رو هم توضیح بدید فیض می بریم.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  17. #17

    نقل قول: نمایش عکس از روی سرور

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

    محمد کیه؟!
    یوسف جان من اسم هر کی رو ندونم بهش میگم محمد
    حالا چون گفتی فهمیدم ، که محمد همون حمزه خودمونه


    اگر فایل در مقصد مورد نظر به هر دلیلی تغییر کرد یا حذف شد، تکلیف چیست؟
    اگه آدرس فایلها رو به صورت نسبی ذخیره کنیم ، فکر نکنم مشکلی پیش بیاد
    من به شخصه این کار و میکنم و مشکلی نداشتم تا الان
    در ضمن اون چه سروریه که هر کی دلش بخواد بره و فایلهای توی اون رو جابجا کنه
    اون که دیگه سیستم سرور نیست ، بیشتر شبیه کاروانسراست

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


    هر روشی مزایای خودش رو داره. مثلا برای برنامه 100 تومانی فولدری بزنید بره
    (جدی نگیریدا)
    این رو خیلی باهات موافقم
    اما برای 100 تومن حیفه آدم کلا به سمت سیستم بره تا اینکه بخواد برنامه بنویسه

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


    حمزه (همون محمد) یالا یالا
    آمورش میخوایم یالا

  18. #18

    نقل قول: نمایش عکس از روی سرور

    اگه آدرس فایلها رو به صورت نسبی ذخیره کنیم ، فکر نکنم مشکلی پیش بیاد
    من به شخصه این کار و میکنم و مشکلی نداشتم تا الان
    در ضمن اون چه سروریه که هر کی دلش بخواد بره و فایلهای توی اون رو جابجا کنه

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

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

    به هر جهت برادر حمزه توضیحات مکفی رو می دند ان شا الله
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  19. #19

    نقل قول: نمایش عکس از روی سرور


    IdHTTP1.Get(Edit1.Text, ms);


    آقا من نحوه ی آدرس دادنشو نفهمیدم.
    چه طور باید آدرس داد؟
    من فقط یک ip سرور دارم و بس.
    یکی با مثال به بنده بگه لطفا؟

    دوستان حل شد iis نصب نبود
    آخرین ویرایش به وسیله sajioo : دوشنبه 26 خرداد 1393 در 10:35 صبح

  20. #20

    نقل قول: نمایش عکس از روی سرور

    متاسفانه من هم کاری از پیش نبردم
    اصلا کلا نمیفهمم الان تصاویر کجا ارسال میشه و چطوری باید لود بشه.
    اگه حمزه جان یک ندا این دوستان درمانده را دریابند ، لطف بزرگی به بشریت کرده اند

  21. #21

    نقل قول: نمایش عکس از روی سرور

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


  22. #22

    نقل قول: نمایش عکس از روی سرور

    حمزه جان ببین داداش
    من میرم Control Panel --> Add Remove Program و از اونجا IIS رو نصب میکنم

    خوب حالا اون دو تا تیکه کد رو چیکار کنم؟

    ببخشید که خیلی بیسوادم داداش
    آخه توی این مبحث من تا الان حتی یک خط کد هم ننوشتم

  23. #23

    نقل قول: نمایش عکس از روی سرور

    نقل قول نوشته شده توسط hadisalahi2 مشاهده تاپیک
    حمزه جان ببین داداش
    من میرم Control Panel --> Add Remove Program و از اونجا IIS رو نصب میکنم

    خوب حالا اون دو تا تیکه کد رو چیکار کنم؟

    ببخشید که خیلی بیسوادم داداش
    آخه توی این مبحث من تا الان حتی یک خط کد هم ننوشتم
    زمانی که iis رو نصب کردید ، سیستمتون تبدیل میشه به یک وب سرور.
    الان وقتی رو خود سیستمتون ، در مرورگر بنویسید 127.0.0.1 باید صفحه اول iis رو ببینید.
    خوب حالا برید تو تنظیمات iis و ببینید HomDirectory دقیقا کجا تعریف شده.
    مثلا مسیر C:\Inetpub\wwwroot تعریف شده.
    خوب پس معلوم میشه هر فایلی رو ما در این مسیر بگزاریم. وب سرویس بهمون بر میگردونه.
    مثال :
    فایلی به اسم ali.exe رو بریزید در این مسیر.
    حالا کافیه تو مرورگرتون بنویسید :
    http://127.0.0.1/ali.exe

    میبینید که برنامه IDM (اگه نصب باشه) میاد بالا و میخاد که بره برای دانلود.
    با این توضیحات باید متوجه بشید که سناریو به چه شکلیه.
    حالا با کدهایی که من قرار دادم میتونید این فایل رو دانلود کنید.
    آخرین ویرایش به وسیله Mask : چهارشنبه 28 خرداد 1393 در 22:29 عصر


  24. #24

    نقل قول: نمایش عکس از روی سرور

    الان وقتی رو خود سیستمتون ، در مرورگر بنویسید 127.0.0.1 باید صفحه اول iis رو ببینید.
    من وقتی این آدرسش رو میزنم ازم یوزر پس میخواد
    باید کدوم یوزر پس رو وارد کنم؟

    خوب پس معلوم میشه هر فایلی رو ما در این مسیر بگزاریم. وب سرویس بهمون بر میگردونه.
    چطوری اول آپلودش کنیم که بعد بخوایم دانلودش کنیم؟

  25. #25

    نقل قول: نمایش عکس از روی سرور

    دوستان عکس های png رو من راحت میارم اما
    عکس های که jpg یا jpeg ذخیره میشن رو وقتی می خوام در برنامه سمت کلاینت باز کنم پیام میده

    jpeg error #53


    فکر کنم نحوه ذخیره فایل jpg مشکل داره چون وقتی یک jpg دیگه رو از خود ویندوز آپ کردم (دستی) رو سرور و تو برنامه کلاینت تست کردم جواب داد.
    نظر شما چیست دوستان؟

  26. #26

    نقل قول: نمایش عکس از روی سرور

    نقل قول نوشته شده توسط hadisalahi2 مشاهده تاپیک
    من وقتی این آدرسش رو میزنم ازم یوزر پس میخواد
    باید کدوم یوزر پس رو وارد کنم؟


    چطوری اول آپلودش کنیم که بعد بخوایم دانلودش کنیم؟
    این سوالتون دیگه ربطی به دلفی نداره. بهتره روش کانفیگ iis رو در گوگل سرچ و انجام بدید.
    فکر کنم نحوه ذخیره فایل jpg مشکل داره چون وقتی یک jpg دیگه رو از خود ویندوز آپ کردم (دستی) رو سرور و تو برنامه کلاینت تست کردم جواب داد.
    نظر شما چیست دوستان؟
    اول اینکه زحمت بکشید و کدتون رو قرار بدید. دوم اینکه کتابخانه های مربوطه رو Uses کردید.؟


  27. #27

    نقل قول: نمایش عکس از روی سرور


    اول اینکه زحمت بکشید و کدتون رو قرار بدید.
    از کدهای خودتون استفاده کردم

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


    varMS: TMemoryStream;beginMS := TMemoryStream.Create;tryform1.OpenDialog1.Execute; if form1.OpenDialog1.FileName<>'' then begin Ms.LoadFromFile(form1.OpenDialog1.FileName);
    MS.Position := 0; form1.IdTCPClient1.IOHandler.WriteLn('photo|'+User Name+'|'+IntToStr(Ms.Size)); form1.IdTCPClient1.IOHandler.WriteBufferOpen; form1.IdTCPClient1.IOHandler.Write(Ms); form1.IdTCPClient1.IOHandler.WriteBufferClose; end;finally MS.Free;
    end;end;




    سمت کلاینت برای نمایش عکس


    var ms: TMemoryStream; j: TJPEGImage;begin ms := TMemoryStream.Create; tryIdHTTP1.Get(Edit1.Text,ms);

    ShowImageFromStream(Image1, ms); finally ms.Free; end;end;



    سمت سرور برای ذخیره عکس




    Jpg:=TJPEGImage.Create; MemRecieveStreamPic:=TMemoryStream.Create; try PicSize :=strtoint( command[2]); user:= command[1]; AContext.Connection.IOHandler.ReadStream(MemReciev eStreamPic,PicSize,false); MemRecieveStreamPic.Position:=0; Jpg.LoadFromStream(MemRecieveStreamPic); Image1.Picture.Bitmap.Assign(jpg);

    finally MemRecieveStreamPic.Free; Jpg.Free; Image1.Picture.SaveToFile('C:\inetpub\wwwroot\prof ile\'+command[1]+'.JPG'); str:='photo|1|'+user+'|'; end;



    دوم اینکه کتابخانه های مربوطه رو Uses کردید.؟
    بله استفاده کردم

  28. #28

    نقل قول: نمایش عکس از روی سرور

    دوستان چکار کنیم بنظرتون؟

  29. #29
    کاربر دائمی
    تاریخ عضویت
    شهریور 1389
    محل زندگی
    جنوب عشق است
    پست
    1,557

    نقل قول: نمایش عکس از روی سرور

    فایل رو به صورت باینری ارسال کنید و در برنامه به وسیله API ویندوز نمایش بدید.

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

  1. نمایش کریستال ریپورت روی سرور بدون نیاز به نصب خود کریستال ریپورت
    نوشته شده توسط asanbest در بخش ابزارهای گزارش سازی
    پاسخ: 0
    آخرین پست: جمعه 22 دی 1391, 22:17 عصر
  2. سوال: نحوه نمایش عکس بر روی فرم
    نوشته شده توسط joooje در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 7
    آخرین پست: جمعه 14 مرداد 1390, 22:57 عصر
  3. پاسخ: 6
    آخرین پست: چهارشنبه 17 آذر 1389, 23:25 عصر
  4. تعریف نام نسبی برای آپلود عکس بر روی سرور
    نوشته شده توسط arman174 در بخش ASP.NET Web Forms
    پاسخ: 7
    آخرین پست: سه شنبه 20 بهمن 1388, 17:48 عصر
  5. مشکل در ذخیره کردن فایل یا عکس بر روی سرور
    نوشته شده توسط sm در بخش ASP.NET Web Forms
    پاسخ: 16
    آخرین پست: شنبه 01 مرداد 1384, 21:59 عصر

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

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