APEX_ZIP : مدیریت فایل های Zip از PL/SQL



APEX_ZIP : مدیریت فایل های Zip از PL/SQL

APEX_ZIP : پکیجی از APEX برای مدیریت فایل های Zip از PL/SQL

در این قسمت از آموزش مقاله زمیوس در بخش دیتابیس قصد داریم مجدد با یکی از قابلیت های APEX آشنا شویم در این مقاله با استفاده از پکیج APEX_ZIP یک API را فراهم می کند برای مدیریت فایل های Zip از PL/SQL می باشد. این پکیج قسمتی از برنامه نصبی APEX می باشد اما در دیتابیس از طریق pl/sql  بدون اینکه نیازی به نصب APEX باشد در دسترس می باشد .

 

نصب و راه اندازی

در ابتدا یک دایرکتوری ایجاد کنید و مطمئن شوید که کاربر به نام test  دسترسی read/write داشته باشد.

APEX_ZIP1

مجدد با کاربر test وارد دیتابیس شوید و پروسیجرهای  file_to_blob و  blob_to_file را کامپایل کنید.

APEX_ZIP2

سپس یک جدول ایجاد کنید که نام های های ستون blob را ذخیره کند.

APEX_ZIP3

سپس آن فایل zip که می خواهید روی آن کار کنید را در دایکتوری "tmp/"  در سرور دیتابیس قرار دهید. ما در این مثال از فایل "test_file.zip" می باشد که شامل یک سری دایرکتوری زیر مجموعه و دایرکتوری خالی و فایل های png می باشد.

پس از انجام موفق تمامی موارد بالا از پکیج APEX_ZIP استفاده کنیم.

GET_FILES Procedure : پروسیجری برای گرفتن و نمایش لیست فایلها و نام دایرکتوری ها در فایل ZIP

فانکشن GET_FILES  لیست تمامی فایل ها و دایرکتوری های داخل فایل zip را نمایش و در خروجی برمی گرداند.

با اسنفاده دستورات مثال زیر ابتدا فایل zip را به blob تبدیل کرده و سپس با استفاده از پکیج apex_zip و پروسیچر GET_FILES لیست تمامی فایل ها و دایرکتوری هایی که در کالکشن T_FILES  می باشد را برمی گرداند که با استفاده از دستور حلقه for loop تمامی مقادیر کالکشن را خوانده و نمایش می دهد که این مقادیر کالکشن همان نام فایل ها و دایرکتوری های فایل zip می باشد.

APEX_ZIP4

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

APEX_ZIP5

GET_FILE_CONTENT Function : فانکشنی برای دریافت فایل ها از zip file

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

 

برای این کار ابتدا محتویات جدول ایجاد شده media را مشاهده کنید.

APEX_ZIP6

در مثال زیر با استفاده از فانکشن GET_FILE_CONTENT محتویات فایل zip که به صورت blob می باشد را تماما دریافت می کند و فایل ها را در دایرکتوری سرور معرفی شده ذخیره می کند و  سپس نام فایل ها را در جدول media ثبت insert می کند.

APEX_ZIP7

در مثالی که انجام دادیم می دانیم که فایل zip ما شامل تعدادی فایل با فرمت png می باشد و این فایل ها پس از دریافت بایستی به صورت hard coding به طوری قابل خواندن و نمایش باشد دریافت شود.

پس از انجام مثال بالا محتوی جدول media  به صورت زیر می باشد.

APEX_ZIP8

ADD_FILE and FINISH Procedures : فایل Zip جدیدی ایجاد کنید.

با استفاده از پروسیجر ADD_FILE می توانید فایل جدیدی را از طریق blob به فایل zip اضافه کنید. اگر این پروسیجر را چندین بار اجرا کنید تنها یک فایل ایجاد می کند و فایل های تکراری روی هم نوشته overwrite می شود. با استفاده از پروسیجر Finish می توانید فایل zip را ببندید.

با استفاده از مثال زیر نام فایلهایی که در جدول media می باشد را در یک فایل zip جدیدی ایجاد می کند و فایل zip جدید ایجاد شده به نام "test_file_2.zip" می باشد.

APEX_ZIP9

سپس با استفاده از مثال زیر محتویات فایل zip به نام "test_file_2.zip" را با استفاده از فانکشن GET_FILES بررسی و دریافت می کنیم .

APEX_ZIP10

 

برای مطالعه بیشتر لینک های زیر را مشاهده کنید:

جهت ثبت پیام باید در سایت عضو شوید و یا وارد سایت شده باشید .
ورود به حساب کاربری / ایجاد حساب کاربری
کار با Built-in Functions در پایتون (2)

کار با Built-in Functions در پایتون (2)

در این مقاله زمیوسی در بخش آموزش قصد داریم در مورد کار با Built-in Functions در پایتون صحبت کنیم. شما قبلاً با محبوب ترین تابع در پایتون یعنی ()print آشنا شدید.

Cheat Sheet در پایتون - مبانی پایتون (1)

Cheat Sheet در پایتون - مبانی پایتون (1)

پایتون 3 یک زبان برنامه نویسی واقعا همه کاره است که دوستش دارم هم برای توسط توسعه دهندگان وب web developers، دانشمندان داده data scientists و ...

10 وب سایت برای حل تمام سوالات مربوط به برنامه نویسی

10 وب سایت برای حل تمام سوالات مربوط به برنامه نویسی

در این مقاله زمیوسی، قصد داریم در مورد 10 سایت که برای حل تمام سوالات مربوط به برنامه نویسی شما صحبت کنیم. در هنگام یادگیری برنامه نویسی یا توسعه یک نرم افزار ....

APEX_ZIP : مدیریت فایل های Zip از PL/SQL

APEX_ZIP : مدیریت فایل های Zip از PL/SQL

در این قسمت از آموزش مقاله زمیوس در بخش دیتابیس قصد داریم مجدد با یکی از قابلیت های APEX آشنا شویم در این مقاله با استفاده از پکیج APEX_ZIP ...