স্থানীয়ভাবে পরিচালিত ওয়েব পৃষ্ঠায় আমি কীভাবে একটি স্থানীয় ফাইলের লিঙ্ক তৈরি করতে পারি?


155

আমি এমন একটি এইচটিএমএল ফাইল রাখতে চাই যা আমার হার্ড ড্রাইভ জুড়ে কিছু ফাইল ছড়িয়ে ছিটিয়ে থাকে। উদাহরণস্বরূপ, আমার কাছে দুটি ফাইল রয়েছে যার সাথে আমি লিঙ্ক করব:

  • C:\Programs\sort.mw
  • C:\Videos\lecture.mp4

সমস্যাটি হ'ল আমি লিঙ্কগুলি ফাইলটির শর্টকাট হিসাবে কাজ করতে চাই। আমি নিম্নলিখিত চেষ্টা করেছি:

<a href="C:\Programs\sort.mw">Link 1</a>
<a href="C:\Videos\lecture.mp4">Link 2</a>

... তবে প্রথম লিঙ্কটি কিছুই করে না এবং দ্বিতীয় লিঙ্কটি ভিএলসি নয়, ক্রোমে ফাইলটি খোলে।

আমার প্রশ্নগুলি হ'ল:

  1. লিঙ্কগুলি ফাইলগুলির শর্টকাট হিসাবে বিবেচনা করার জন্য কি আমার এইচটিএমএল সামঞ্জস্য করার কোনও উপায় আছে?

  2. এইচটিএমএল সামঞ্জস্য করার কোনও উপায় না থাকলে, হার্ড ড্রাইভ জুড়ে ছড়িয়ে ছিটিয়ে থাকা ফাইলগুলির সাথে খুব সুন্দরভাবে লিঙ্ক করার অন্য কোনও উপায় আছে কি?

আমার কম্পিউটারটি উইন্ডোজ 7 চালায় এবং আমার ওয়েব ব্রাউজারটি ক্রোম।

উত্তর:


259

আপনি file:///যদি স্থানীয় ফাইলগুলিতে লিঙ্ক করতে চান তবে আপনাকে প্রোটোকলটি ব্যবহার করতে হবে (হ্যাঁ, এটি তিনটি স্ল্যাশ)।

<a href="file:///C:\Programs\sort.mw">Link 1</a>
<a href="file:///C:\Videos\lecture.mp4">Link 2</a>

এগুলি কখনই আপনার স্থানীয় অ্যাপ্লিকেশনগুলিতে স্বয়ংক্রিয়ভাবে ফাইলটি খুলবে না। এটি সুরক্ষা কারণে যা আমি শেষ বিভাগে কভার করব। এটি খুললে এটি ব্রাউজারে কেবল কখনও খোলা থাকবে। যদি আপনার ব্রাউজারটি ফাইলটি প্রদর্শন করতে পারে তবে তা হয়ে যাবে, অন্যথায় আপনি সম্ভবত ফাইলটি ডাউনলোড করতে চান কিনা তা আপনাকে জিজ্ঞাসা করবে।

অনেক ব্রাউজারের আধুনিক সংস্করণগুলি (যেমন ফায়ারফক্স এবং ক্রোম) দূষিত আচরণ রোধ করতে HTTP প্রোটোকল থেকে ফাইল প্রোটোকলে যেতে অস্বীকার করবে। আপনি যদি এই জিনিসটি একেবারেই করতে চান তবে আপনাকে ফাইল প্রোটোকলটি ব্যবহার করে স্থানীয়ভাবে আপনার ওয়েবপৃষ্ঠাটি খুলতে হবে।

কেন এটি আটকে যায় file:///?

ইউআরএল এর প্রথম অংশটি হ'ল প্রোটোকল। একটি প্রোটোকল হ'ল কয়েকটি অক্ষর, তারপরে একটি কোলন এবং দুটি স্ল্যাশ। HTTP://এবং FTP://বৈধ প্রোটোকল; C:/না এবং আমি নিশ্চিত যে এটি এমনকি ঠিক একটির মতো হয় না।

C:/এছাড়াও একটি বৈধ ওয়েব ঠিকানা নয়। ব্রাউজারটি ধরে নিতে পারে এটি http://c/নির্দিষ্ট করা একটি ফাঁকা বন্দরের সাথে বোঝানো যেতে পারে তবে এটি ব্যর্থ হতে চলেছে।

আপনার ব্রাউজারটি এটি কোনও স্থানীয় ফাইলের উল্লেখ করছে না। এই ধারণাটি গ্রহণ করার সামান্য কারণ রয়েছে কারণ পাবলিক সাইটগুলি সাধারণত লোকের স্থানীয় ফাইলগুলিতে লিঙ্ক দেওয়ার চেষ্টা করে না।

সুতরাং আপনি যদি স্থানীয় ফাইল অ্যাক্সেস করতে চান: ফাইল প্রোটোকলটি ব্যবহার করতে বলুন।

তিনটি চিট কাটা কেন?

কারণ এটি ফাইল ইউআরআই স্কিমের অংশ । প্রথম দুটি স্ল্যাশের পরে আপনার কাছে হোস্ট নির্দিষ্ট করার বিকল্প রয়েছে। আপনি যদি কোনও হোস্টকে নির্দিষ্ট করে এড়িয়ে যান তবে এটি কেবল ধরে নেবে আপনি নিজের পিসিতে কোনও ফাইল উল্লেখ করছেন। এর অর্থ file:///C:/etcহল একটি শর্টকাট file://localhost/C:/etc

এই ফাইলগুলি এখনও আপনার ব্রাউজারে খুলবে এবং এটি ভাল

আপনার ব্রাউজার এই ফাইলগুলিতে একইভাবে প্রতিক্রিয়া জানাবে যেভাবে তারা ইন্টারনেটে যে কোনও জায়গায় একই ফাইলটিতে প্রতিক্রিয়া জানায়। এই ফাইলগুলি করা হবে না আপনার ডিফল্ট ফাইল হ্যান্ডলার (যেমন মাইক্রোসফট ওয়ার্ড বা ভিএলসি মিডিয়া প্লেয়ার) খোলেন, এবং আপনি করা হবে না চাইবে ফাইল এক্সপ্লোরার ফাইল এর অবস্থান খুলতে মত কিছু করতে সক্ষম হবেন।

এটি আপনার সুরক্ষার জন্য একটি অত্যন্ত ভাল জিনিস thing

আপনার ব্রাউজারের সাইটগুলি আপনার অপারেটিং সিস্টেমের সাথে খুব ভাল ইন্টারেক্ট করতে পারে না। একটি ভাল সাইট খোলা আপনার মেশিনে বলতে পারতাম তাহলে lecture.mp4 মধ্যে VLC.exe , একটি ক্ষতিকারক সাইটে খোলার জন্য এটিতে বলতে পারতাম virus.bat মধ্যে cmd.exe । অথবা এটি কেবলমাত্র আপনার মেশিনকে কয়েক আনইনস্টল.এক্সে ফাইল চালাতে বা একটি মিলিয়ন বার ফাইল এক্সপ্লোরার খুলতে বলতে পারে ।

এটি আপনার পক্ষে সুবিধাজনক নাও হতে পারে তবে HTML এবং ব্রাউজার সুরক্ষা আপনি যা করছেন তার জন্য সত্যই ডিজাইন করা হয়নি। আপনি খুলতে সক্ষম হতে চান lecture.mp4 মধ্যে VLC.exe পরিবর্তে একটি ডেস্কটপ অ্যাপ্লিকেশন লেখার বিবেচনা করুন।


1
ধন্যবাদ জোনাথন আপনি কি জানেন যে বিকল্প হিসাবে "ফোল্ডারে ফাইল দেখানোর" উপায় আছে কিনা?
ব্রায়ান ফিটজপ্যাট্রিক

7
@ ব্রায়ান আপনার ব্রাউজারটি সেভাবে আপনার ওএসের সাথে ইন্টারঅ্যাক্ট করতে পারে না এবং এটি আপনার পক্ষে অত্যন্ত আনন্দিত হওয়া উচিত।
doppelgreener

23
দেখে মনে হচ্ছে যে ক্রোম স্থানীয় ফাইলগুলি ফাইলটি ডাউনলোড করবে না: /// প্রোটোকল যাইহোক (আপনাকে একটি Not allowed to load local resourceত্রুটি দিচ্ছে )
লুপ্যাক্স

1
আমি এই "ফাইল: /// .. \ .. \ সাজ্ট.এমডব্লু" এর মতো একটি লিঙ্ক দিতে চাই যাতে এটি দুটি ফোল্ডার পিছনে যায় এবং সেখানে ফাইলটি পায়। কারণ আমরা ড্রপবক্সে শব্দ শব্দটি ব্যবহার করছি। সুতরাং কোন সমাধান আছে।
মুর্তজা মুন্সী

5
এটি উল্লেখ করার মতোও হতে পারে আপনি কোনও ওয়েবসাইট থেকে (যেমন স্থানীয় ডেভ সার্ভার) কোনও স্থানীয় ফাইলের সাথে লিঙ্ক করতে পারবেন না। forums.mozillazine.org/viewtopic.php?f=9&t=1730
নুয়াল

14

আপনি যদি আপনার পিসিতে আইআইএস চালাচ্ছেন তবে আপনি যে ভার্চুয়াল ডিরেক্টরি হিসাবে পৌঁছানোর চেষ্টা করছেন সেই ডিরেক্টরিটি যুক্ত করতে পারেন। এটি করতে আপনি আইএসএসে আপনার সাইটে ডান ক্লিক করুন এবং "ভার্চুয়াল ডিরেক্টরি যুক্ত করুন" টিপুন। ভার্চুয়াল ফোল্ডারটির নাম দিন। আপনার স্থানীয় পিসিতে আপনার ফোল্ডারের অবস্থানটিতে ভার্চুয়াল ফোল্ডারটি নির্দেশ করুন। আপনাকে নির্দিষ্ট শংসাপত্র যেমন অ্যাক্সেস করার অধিকার রয়েছে এমন শংসাপত্রাদি সরবরাহ করতে হবে। HOSTNAME \ ব্যবহারকারীর নাম এবং পাসওয়ার্ড। এরপরে আপনি ভার্চুয়াল ফোল্ডারে ফাইলটি আপনার সাইটের অন্য কোনও ফাইল হিসাবে অ্যাক্সেস করতে পারবেন।

http://sitename.com/virtual_folder_name/filename.fileextension

যাইহোক, এটি ক্রোমের সাথেও কাজ করে যা অন্যথায় ফাইল-প্রোটোকল ফাইল গ্রহণ করে না: //

আশা করি এটি কাউকে সাহায্য করবে :)


উত্তরের জন্য ধন্যবাদ! আমি ফাইলটি / /// ফাইলের পথে রাখার আগে কোনও ফাইলের দিকে যাওয়ার আগে যাইহোক আমি যখন এটি ক্লিক করি তখন কিছুই সুখী হয় না। আমাকে এটি সিটিআরএল (নতুন ট্যাবে) দিয়ে খুলতে হবে। এটা এমন কেন?
পাইোটার সিজিż

5

জাঙ্কি সেরা

<a href="file://///server/folders/x/x/filename.ext">right click </a></td>

এবং তারপরে রাইট ক্লিক করুন, "অনুলিপি করা অবস্থান" বিকল্পটি নির্বাচন করুন এবং তারপরে ইউআরএল এ পেস্ট করুন।


আমরা কি রাইট ক্লিক করতে বাধ্য? এটির উপর বাম ক্লিক করার জন্য কি কোনও উপায় বিদ্যমান?
ব্যান্ডোলেরাস

1

2017 এ ফিরে:

ব্যবহারকারী ব্যবহারকারী ফাইল ফাইলের স্থানীয় লিঙ্ক তৈরি করতে URL.createObjectURL (ফাইল) ব্যবহার করুন;

URL.revokeObjectURL () ব্যবহার করে মেমরি মুক্ত করতে ভুলবেন না


এখানে ফাইল আর্গুমেন্টের জন্য ব্রাউজার ক্লায়েন্টের জেএস রানটাইমের অভ্যন্তরে নির্মিত একটি প্রকৃত ফাইল অবজেক্ট প্রয়োজন, যার অর্থ আমাদের এটি ইতিমধ্যে ব্রাউজার ক্লায়েন্টে আপলোড করতে হবে (উদাহরণস্বরূপ কোনও ফাইল আপলোড ফর্ম নিয়ন্ত্রণের মাধ্যমে)। উত্পন্ন URL হ'ল ব্রাউজার ক্লায়েন্টের জেএস রানটাইমের ভিতরে মেমরিতে সংরক্ষিত অনুলিপিটি ডাউনলোড বা উল্লেখ করার জন্য একটি ব্লব URL। এটি একটি স্থানীয় ফাইলে একটি লিঙ্ক তৈরি করতে সহায়তা করবে না; এটি মেমোরিতে সংরক্ষিত অনুলিপিটির লিঙ্ক (এটি অন্যথায় অ্যাক্সেস করার চেষ্টা করার পরে অন্যরকম আচরণ করবে না)।
ডপপেলগ্রিনিয়ার

ঠিক আমার যা প্রয়োজন ছিল। একটি ফাইল নির্বাচন করতে ফাইল ইনপুট ব্যবহার করুন, তারপরে createObjectURL ব্যবহার করে এটি একটি ট্যাবে খুলুন।
টনি লগ

0

আমি একটি উপায় এবং এই মত কাজ করেছি:

<'a href="FOLDER_PATH" target="_explorer.exe">Link Text<'/a>

এমনকি ইন্টারনেট এক্সপ্লোরারেও এটি কোনও বৈধ লক্ষ্য মানের মতো দেখায় না ।
ডপপেলগ্রিনিয়ার

IE উপেক্ষা (অবৈধ) লক্ষ্য (উপরে)। আইই 10, 11- র সাথে নিম্নলিখিত কাজগুলি সূক্ষ্মভাবে কাজ করে: <a href="C:/tmp"> ড্রাইভ সি-তে ট্যাম্পের লিঙ্ক <
</

আইডি এবং 'ফাইল: // সার্ভারনেম / পাথ \ থেকে \ ফোল্ডার' এর মতো একটি নেটওয়ার্ক ড্রাইভ পাথ FOLDER_PATH এর জায়গায় ব্যবহার করে এটি আমার পক্ষে ভাল কাজ করে। আপনি যদি 'টার্গেট = "_ এক্সপ্লোরার এক্সেক্স" বাদ দেন তবে ফোল্ডারটি এক্সপ্লোরার এক্সের পরিবর্তে আইইতে খোলে এবং এটি দেখতে অনেকটা এক্সপ্লোরারের মতো লাগে।
জোনপি 13
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.