PDA

View Full Version : آموزش: نحوه راه اندازی ادیتور freetextbox و سیستم آپلود تصویر در آن



Fartaj
چهارشنبه 01 شهریور 1391, 09:10 صبح
مراحل راه اندازی ادیتور freetextbox و سیستم آپلود تصویر اون :

1. پس از افزودن کامپوننت freetextbox.dll به پروژه ، فایل های app_licenses.dll ، licenses.licx و freetextbox.dll را به پوشه bin پروژه اضافه نموده و سپس کنترل را به پنجره toolbox اضافه نمایید .
2. پوشه aspnet_client را به پروژه اضافه نمایید . این پوشه شامل تصاویر و فایل های js مورد نیاز است و همونطور که می بینید حجم بسیار کمی نسبت به سایر editor های معروف داره .
3. خاصیت ValidateRequest="false" را در بالای صفحه در داخل تگ <%@page%> اضافه نمایید .
4. پوشه ای به نام images ایجاد کنید . در این پوشه فایل های upload شده قرار خواهد گرفت .
5. و حالا یک freetextbox به فرم اضافه نمایید .

تا اینجا ما خود freetextbox رو راه انداختیم اما اگر دقت کرده باشید هنوز توی toolbar اون سیستم upload تصویر رو نمی بینید برای این کار باید toolbar اون رو سفارشی کنیم و upload تصویر رو به اون اضافه کنیم .
برای این کار در قسمت properties این ادیتور خاصیت toolbarlayout رو پیدا کنید همونطور که می بینید جزئیات اجزا, این ادیتور رو می شه اینجا تنظیم کرد حالا شما (InsertImageFromGallery) رو اینجا به ادیتور اضافه کنید و با کاما آن را نسبت به بقیه مجزا کنید.
تا اینجا به ادیتور گفتیم که گزینه آپلود رو توی toolbar اضافه کن ، مرحله بعدی افزودن صفحه ای به پروژه با نام (ftb.imagegallery.aspx ) .

پس از افزودن این صفحه تمامی کدهای html اون رو پاک کرده و کدهای زیر رو جایگزین کنید :



<%@ Page Language="C#‎‎‎" ValidateRequest="false" Trace="false" %>
<%@ Register TagPrefix="FTB" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>

<head id="Head1" runat="server">
<title></title>

</head>
<body>
<form id="form1" runat="server" enctype="multipart/form-data">
<div>

<FTB:ImageGallery ID="ImageGallery1" runat="server" AllowDirectoryCreate="True" AllowDirectoryDelete="True" AllowImageDelete="True" AllowImageUpload="True">
</FTB:ImageGallery>

</div>
</form>
</body>
</html>



حالا این صفحه ای که اضافه کردیم در نقش سیستم نمایش تصاویر آپلود شده و آپلود تصویر تو همون فولدر image هست که قرار دادیم .

پروژه نمونه :
91644
91643

اگر ادیتوری که تو پست قبل گذاشتم کار نکرد از تو پروژه نمونه dll ها و فولدر aspnet_client رو بردارید .

در ضمن یادم رفت برای اینکه تو ثبت کدهای html به مشکل نخورین کد زیر رو web.config بزارید :



<httpRuntime requestValidationMode="2.0"/>


دوستان ببخشید دیگه مقاله نویسی من خیلی خوب نیست اگه جاییش مشکلی بود بپرسید :لبخند:

bftarane
دوشنبه 06 آذر 1391, 09:16 صبح
سلام. واقعاً ممنون از آقاي فرتاج.
........
يه سوالي دارم. هر کدام از دوستان که مي تونن لطفاً راهنمايي کنن. همونطور که در عکس زير مي بينيد من سعي مي کنم لينک اضافه کنم به متنم ولي وقتي ok مي کنم اتفاقي نمي افته و لينکي ديده نميشه در متن.
براي رفع اين مشکل چه کار بايد کنم؟
95595

البته من دقيقاً مثل مراحلي که آقاي فرتاج گفتند نتونستم پيش برم مثلاً من اون دو تا فايل app_licenses.dll ، licenses.licx رو پيدا نکردم. من از لينکي که در لينک زير گذاشته شده http://programmer.persianblog.ir/post/60/ اين برنامه رو دانلود کردم.
و همچنين کدهاي صفحه ftb.imagegallery.aspx
اين طوري شد

<%@ Page Language="C#‎" AutoEventWireup="true" ValidateRequest="false" Trace="false" %>
<%@ Register TagPrefix="FTB" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/form-data">
<div>
<FTB:ImageGallery ID="ImageGallery1" runat="server" AllowDirectoryCreate="True" AllowDirectoryDelete="True" AllowImageDelete="True" AllowImageUpload="True">
</FTB:ImageGallery>
</div>
</form>
</body>
</html>که البته آپلود تصوير تا جايي که امتحان کردم به خوبي کار مي کرد و الآن مشکل من در وارد کردن لينک هست.

ممنون از هر کسي کمک کنه.

bftarane
دوشنبه 06 آذر 1391, 10:44 صبح
سلام مجدد. بچه ها الآن امتحان کردم ديدم با اينکه عکس آپلود ميشه ولي Insert نميشه. دليلش چي مي تونه باشه؟
رفتم با يه صفحه که مسترپيج نداره امتحان کردم يه بار عکس درج شد ولي بازم امتحان کردم ديگه درج نشد. کجاي کارم اشتباهه. در web.config کد روبرو رو دارم <httpRuntime requestValidationMode="2.0" maxRequestLength="20951"/>
کار ديگه اي هم بايد انجام بدم؟ انگار کلاً با Insert مشکل داره.

bftarane
دوشنبه 06 آذر 1391, 11:38 صبح
سلام.
مشکل عکس ظاهراً يه باگ هستش که وقتي متن رو وارد کردم بعد عکس رو درج کردم، درج صورت گرفت.
آيا ميشه اين مشکل رو با برنامه نويسي حل کرد؟
ولي مشکل درج نشدن لينک باقي هست.

Fartaj
سه شنبه 07 آذر 1391, 16:38 عصر
سلام

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

M.KH-SH
سه شنبه 07 آذر 1391, 22:52 عصر
سلام

با freetextbox میخوام فایل هم آپلود کنم
این کار به چه صورت هستش؟؟؟

Fartaj
سه شنبه 07 آذر 1391, 23:01 عصر
منظورتون رو متوجه نمی شم !!
اگر منظورتون آپلود فایلی غیر از عکس هست امکانش نیست یعنی تو هیچ ادیتوری آپلود فایلی غیر از عکس رو ندیدم چون اصلا این کار خطرناکه

bftarane
سه شنبه 07 آذر 1391, 23:15 عصر
من اون قضيه لينک رو با مثال خودتونم امتحان کرده بودم مشکل باقي بود. نمي دونم ايراد کار کجاست.
پولي اگه بخواهيم بخريم چند در مياد؟ از کجا مي تونيم تهيه کنيم؟
اصلاً جالب نيست به مشتري بگيم اول يه کلمه تايپ کن بعد عکس رو درج کن.
ديگه نميدونم چي بگم. وقتم کمه و سر اين جور چيزا هم خيلي تلف شده.

Fartaj
سه شنبه 07 آذر 1391, 23:21 عصر
باید به حساب مخصوص داشته باشی به دلار از سایت اصلیش بخری تقریبا 50 دلار همین freetextbox نسخه کاملش .
اگر مشکلتون صرفا قضیه ایمیل هست روش کار کنم ببینم چی کار می شه کرد اما اون قضیه لینک برای من درست کار کرد

M.KH-SH
سه شنبه 07 آذر 1391, 23:23 عصر
در حال حاضر نیاز دارم که یک آپلود برای فایل داشته باشم به نظر شما از چه کامپوننتی استفاده کنم که مدیریت راحت و کاملی رو در اختیارم بده و به راحتی بشه باهاش کار کرد؟

یک سئوال بی ربط::: یک فایل باینری ذخیره شده در دیتا بیس رو به چه صورت به کاربر اجازه بدم دانلود کنه؟؟ این کار در ویندوز به راحتی آب خوردن هستش ولی در asp یاد ندارم

Fartaj
سه شنبه 07 آذر 1391, 23:34 عصر
در مورد آپلود فایل اول موضع خودتون رو مشخص کنید چه جور فایلی ، قراره چه کاری باهاش بکنید ، چه تنظیماتی رو انتظار دارید و ...؟ چون همینطوری هر جا سوال کنی می گن خوب از همین فایل آپلود خود asp استفاده کن !!
در مورد باینری تا جایی سواد من جواب می ده وقتی فایلی به صورت باینری ذخیره می شه در دیتابیس مفهومی نداره تا زمانی که دوباره از باینری تبدیل بشه به فایل و معمولا کمتر از باینری استفاده می کنند چون حجم دیتابیس رو می بره بالا

Fartaj
سه شنبه 07 آذر 1391, 23:49 عصر
من اون قضيه لينک رو با مثال خودتونم امتحان کرده بودم مشکل باقي بود. نمي دونم ايراد کار کجاست.
پولي اگه بخواهيم بخريم چند در مياد؟ از کجا مي تونيم تهيه کنيم؟
اصلاً جالب نيست به مشتري بگيم اول يه کلمه تايپ کن بعد عکس رو درج کن.
ديگه نميدونم چي بگم. وقتم کمه و سر اين جور چيزا هم خيلي تلف شده.

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

M.KH-SH
چهارشنبه 08 آذر 1391, 00:55 صبح
در مورد باینری تا جایی سواد من جواب می ده وقتی فایلی به صورت باینری ذخیره می شه در دیتابیس مفهومی نداره تا زمانی که دوباره از باینری تبدیل بشه به فایل و معمولا کمتر از باینری استفاده می کنند چون حجم دیتابیس رو می بره بالا

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

----
هر فایلی که دنیا وجود داره پسوند مهم نیست هم کار آمد بودنش هست ، برای استفاده در یک بخش از برنامه برای دانلود کردن کاربران (میخوام راحت بشه مدیریت کرد) مثل بخش ضمیمه همین وب سایت

Fartaj
چهارشنبه 08 آذر 1391, 11:04 صبح
یک سمپل از code project پیدا کردم درست کار می کنه برای خودم هم جالب بود اما هنوز هم فکر می کنم این کار برای سایت جالب نباشه ، برای فایل های با حجم بالا نمی دونم بعد به کاربر اجازه resume رو می ده یا نه


ولی خوب تو همین پروژه هم اول id رو می فرسته به یک صفحه دیگه و اونجا تبدیل می شه و دانلود می شه
یعنی وقتی کاربر روی لینک دانلود می ره به جای اسم فایل id اون رو می بینه

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

البته الان که دقت کردم روی فایل های ضمیمه که رفتم دیدم اینم داره id می فرسته ولی خوب ما اینجا محدودیت حجم داریم برای upload
هااااا فکر کنم تازه دو زاریم افتاد که شما می خواین چی کار کنین احتمالا منظور شما یه چیزی شبیه همین ادیتور برنامه نویس برای اتچ کردن فایل باشه درسته ؟؟ همچین چیزی رو اگر رو ادیتور بخواین باید یا خودتون دست به کار بشین یا بخرین

M.KH-SH
چهارشنبه 08 آذر 1391, 11:12 صبح
مرسی از پاسخ شما

یک سئوال دیگه

در حال حاضر برای آپلود فایل با حجم 10mb مشکل میخورم و نمیزاره آپلود بشه برای این کار به چه صورت باید عمل کنم

میشه راهنمایی کنین مرسی

Fartaj
چهارشنبه 08 آذر 1391, 11:16 صبح
این کد رو در web.config بزارید :


<httpRuntime executionTimeout="1100"
maxRequestLength="40096"
requestLengthDiskThreshold="80"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="5000"
enableKernelOutputCache="true"
enableVersionHeader="true"
requireRootedSaveAsPath="true"
enable="true"
shutdownTimeout="90"
delayNotificationTimeout="5"
waitChangeNotification="0"
maxWaitChangeNotification="0"
enableHeaderChecking="true"
sendCacheControlHeader="true"
apartmentThreading="false"/>

bftarane
چهارشنبه 08 آذر 1391, 16:24 عصر
اگر مشکلتون صرفا قضیه ایمیل هست روش کار کنم ببینم چی کار می شه کرد اما اون قضیه لینک برای من درست کار کرد
نه تنها مشکلم اين نيست. همون لينک و اينکه مجبوره اول چند کلمه بنويسه فعلاً يادمه.
من راضي به زحمتتون نيستم ولي اگه خودتونم دلتون مي خواد کار کنيد خوشحال ميشم از نتيجه و روش کار باخبرم کنيد.

bftarane
پنج شنبه 09 آذر 1391, 14:38 عصر
سلام به همگي.
آقاي فرتاج گرامي مشکل ديده نشدن عکس در ايميل حل شد. در پست 15 اين لينک گفتم چه کار کردم.
(البته اون راه حل رو با FTB تست نکردم با يه اديتور ديگه)
http://barnamenevis.org/showthread.php?370420
ممنون از شما.

Fartaj
پنج شنبه 09 آذر 1391, 23:10 عصر
عالی بود جوینده یابندست :تشویق:

لامصب وقتی آدم تحت فشار یک پروژه هست هیچ کاری نشد نداره :لبخند:

در مورد اون مشکلی هم که همیشه برای ثبت عکس می بایست یک چند کلمه ای تایپ بشه من متوجه شدم که freetextbox خالی و پر بودن سمت html رو چک می کنه یعنی اگر شما تو قسمت پیج لود صفحه ای که ادیتور توش هست این کد رو بزارید :


FreeTextBox1.Text = "&nbsp;";

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

bftarane
سه شنبه 28 آذر 1391, 15:31 عصر
سلام.
مشکل درج نشدن عکس در اديتور بدون نوشتن متن با نوشتن کد زير در رويداد لود صفحه حل شد

FreeTextBox1.Text = "&nbsp;" + FreeTextBox1.Text;
مشکل ديده نشدن عکس در ايميل هم با نوشتن کد زير در رويداد لود صفحه حل شد

FreeTextBox1.RemoveServerNameFromUrls = false;
براي اطلاعات بيشتر به پست 17 تاپيک http://barnamenevis.org/showthread.php?370420 مراجعه فرماييد.

شايد راه هاي بهتري هم باشه ولي براي من اينا جواب دادن.

mbasirati
یک شنبه 01 اردیبهشت 1392, 19:58 عصر
سلام
توی خاصیت ToolbarLayout من هیچی نیس. و وقتی که InsertImageFromGallery رو اضافه میکنم همه دکمه های ادیتور حذف میشه و فقط این دکمه قرار میگیره.
آخرین نسخه اون رو از سایتش دانلود کردم. نسخه 3.3.1
باید چیکار کنم که InsertImageFromGallery هم اضافه بشه؟

Ramin-sh-t
پنج شنبه 15 خرداد 1393, 12:53 عصر
سلام
آقا من وقتی این کنترل رو دانلود کردم ، خیلی راحت فایل dllش رو گذاشتم تو پوشه bin و خیلی قشنگ اجرا شد و مشکلی هم نبود... تا اینکه...
نمیدونم چی شد که از کار افتاد یعنی به این شکل در اومد
119905
حتی خطاهایی هم که داخل کنترل نوشته رو انجام دادم ولی بازم نشد :ناراحت:
ممنون میشم اگه راهنماییم کنید - با تشکر:قلب:

sajad_boj71
پنج شنبه 15 خرداد 1393, 13:54 عصر
این ادیتور بطور پیشفرض smiley (شکلک)نداره ،چطور بهش شکلک اضافه کنم؟؟!

Mousavmousab
جمعه 08 اسفند 1393, 23:05 عصر
lمن هم خیلی راحت Add Reference کردم و خیلی ساده اجرا شد بدون خطا !!!
VS 2013