ফাইলগুলির জন্য অ্যাপাচে কনটেন্ট-ডিসপোজিশন শিরোনাম কীভাবে প্রেরণ করবেন?


8

আমার কাছে টেক্সট ফাইলগুলির একটি ডিরেক্টরি রয়েছে যা আমি অ্যাপাচি ২ দিয়ে পরিবেশন করছি Nor সাধারণত যখন আমি (বা কোনও ব্যবহারকারী) তাদের ব্রাউজারে সেগুলি দেখলে ফাইলগুলি অ্যাক্সেস করে। ওয়েব ব্রাউজারটিকে 'সেভ করুন' ডায়ালগ বক্সটি পপআপ করতে আমি 'ফোর্স' করতে চাই। আমি জানি এটি Content-Dispositionশিরোনামগুলি ( আরও তথ্য ) দিয়ে করা সম্ভব ।

প্রতিটি ফাইলের জন্য এটি চালু করার কোনও উপায় আছে?

আদর্শভাবে আমি এই জাতীয় কিছু চাই:

<Directory textfiles>
   AutoAddContentDispositionHeaders On
</Directory>

এবং তারপরে অ্যাপাচি একই ফাইলের নাম ব্যবহার করে সঠিক বিষয়বস্তু প্রদর্শন শিরোনাম সেট করে।

অ্যাপাচি Headerনির্দেশের মাধ্যমে এরকম কিছু হতে পারে ।

বোনাস পয়েন্টস যদি এটি ডিবিয়ানে অ্যাপাচে দাঁড়িয়ে অন্তর্ভুক্ত থাকে।

আমি একটি সাধারণ পিএইচপি র‌্যাপার স্ক্রিপ্টটি করতে পারি যা একটি filenameযুক্তি গ্রহণ করে, কল করে header(...)এবং পরে ফাইলটি প্রিন্ট করে, তবে তারপরে আমাকে ইনপুট ইত্যাদি বৈধ করতে হবে যে কাজটি আমি এড়াতে চাইছি।


* আমি জানি আপনি ওয়েবে আসলে জিনিসগুলি জোর করে নিতে পারবেন না

উত্তর:


11

আমি আবিষ্কার করেছি যে এটি আমার যা ইচ্ছা তা করে:

<Location /textfiles>
    SetEnvIf Request_URI "^.*/([^/]*)$" FILENAME=$1
    Header set "Content-disposition" "attachment; filename=%{FILENAME}e"
    UnsetEnv FILENAME
</Location>

ফাইল নামের শেষে "ই" কী? আমি দেখতে পাচ্ছি যে এটি ছাড়া এটি কাজ করে না, তবে এটি কী করে তা আমি বুঝতে পারি না।
মার্ক ই। হাজেস

এর অর্থ কেবল "পরিবেশের পরিবর্তনশীলগুলির নামকরণের নামকরণ FILENAME" ( Mod_headers এর ডকুমেন্টেশন দেখুন: httpd.apache.org/docs/current/mod/mod_headers.html )
এলে

1

mod_headers আপনি যা খুঁজছেন তা হওয়া উচিত:

<IfModule mod_headers.c> 
  <Location ~ ".*/textfiles/.*"> 
    Header set Content-Disposition attachment
  </Location>
</IfModule>

একটি ভাল শুরু, তবে আমি সেখানে ফাইলের নামও চাই যাতে এটি (একই) ফাইলের নামটি পপ আপ করে। তবে আমি একটি অনুরূপ সমাধান পেয়েছি
ররি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.