PDA

View Full Version : ارسال تصویر از ویندوز اپلیکیشن و درج فایل در MySQL



محمد رضا فاتحی
پنج شنبه 25 شهریور 1395, 12:18 عصر
سلام دوستان...مشکل تو سوال نهفتس...
می خوام بدونم چطور میشه یه فایل از ویندوز اپلیکیشن انتخاب کنیم و با وب سرویس php اون فایل رو بصورت باینری تو MYSQL ذخیره کنیم...چند مورد هم که با سرچ پیدا کردم جهت ارسال فایل بوسیله فرمه
ممنون میشم راهنمایی کنید...

مهرداد سیف زاده
جمعه 26 شهریور 1395, 18:24 عصر
برای ارسال فایل باید از متدهای ارسال post استفاده کنید
کلاس WebClient متد UploadFile رو برای این کار میتونید استفاده کنید
https://msdn.microsoft.com/en-us/library/esst63h0.aspx
یه نمونش بصورت زیر هست


using (var client = new WebClient())
{
client.UploadFile("http://example.com/script.php", "POST", @"C:\path\test.txt");
}


در سمت php باید فایل رو با نوع blob توی mysql ذخیره کنید. اصل کار این هست که فایل رو بایت به بایت میخونید و در فیلدی از mysql ذخیره میکنید. موقع برداشت فایل از mysql هم دوباره میخونید و دیتای select شده رو بایت به بایت بر روی یه فایل ذخیره میکنید. در این جا mysql و c# برای ارسال هیچ کنترلی روی نوع فایل یعنی و شما بعد از برداشت فایل از mysql تنها با تغییر نام اون به فایل اول ارسال شده از ویندوز میرسید.
برای ذخیره فایل در mysql میتونید از کلاس زیر استفاده کنید
http://www.phpclasses.org/package/8851-PHP-Save-and-show-image-from-MySQL-blob-using-PDO.html
البته این کلاس برای image هست که فرقی با قایل‌های دیگه نداره و شما فقط قسمت‌های که صفحه رو برای نمایش عکس init میکنه رو تغییر بدید یا بجای صفحه بهش مسیر بدید تا در مسیر خاصی ذخیره کنه. در استفاده از این کلاس یا ارسال از سمت برنامه ویندوزی مشکلی داشتید در خدمتم.