আমি কীভাবে এইচটিএমএল ডাউনলোড লিঙ্ক তৈরি করতে পারি?


224

আমি এইচটিএমএল একটি প্রাথমিক ধারণা আছে। আমি আমার নমুনা ওয়েবসাইটে ডাউনলোড লিঙ্কটি তৈরি করতে চাই, তবে এটি কীভাবে তৈরি করা যায় সে সম্পর্কে আমার ধারণা নেই। ফাইলটি দেখার চেয়ে আমি কীভাবে একটি লিঙ্ক তৈরি করব?


11
এই প্রশ্নের গ্রহণযোগ্য চিহ্নটি পরিবর্তন করা উচিত।
পেক্কা

উত্তর:


163

এই উত্তরটি পুরানো। আমরা এখন downloadবৈশিষ্ট্য আছে । ( এমডিএন-তে এই লিঙ্কটিও দেখুন )

যদি "ডাউনলোড লিঙ্ক" দ্বারা বোঝানো হয় তবে ডাউনলোড করার জন্য কোনও ফাইলের লিঙ্ক বোঝায়, ব্যবহার করুন

  <a href="http://example.com/files/myfile.pdf" target="_blank">Download</a>

target=_blankসামনে ডাউনলোড শুরু একটি নতুন ব্রাইজার উইণ্ডোয় প্রদর্শিত করতে হবে। সেই উইন্ডোটি সাধারণত বন্ধ হয়ে যাবে যখন ব্রাউজারটি আবিষ্কার করে যে সংস্থানটি কোনও ফাইল ডাউনলোড।

নোট করুন যে ব্রাউজারে পরিচিত ফাইলের ধরণগুলি (যেমন জেপিজি বা জিআইএফ চিত্রগুলি) সাধারণত ব্রাউজারের মধ্যে খোলা হবে।

আপনি এখানে যেমন বাহ্যরেখার মতো একটি ডাউনলোডকে বাধ্য করার জন্য ডান শিরোনাম প্রেরণের চেষ্টা করতে পারেন । (সার্ভার সাইড স্ক্রিপ্টিং বা সার্ভার সেটিংসে অ্যাক্সেস প্রয়োজন)


1
ডাউনলোড বৈশিষ্ট্যটি কেন ব্যবহার করবেন না, আপনি যদি কোনও জেপিজির মতো কোনও ফাইল পান তবে এটি খোলার পরিবর্তে এটি ডাউনলোড হবে।
বেন

2
দয়া করে "টার্গেট = '_ ফাঁকা'" বাদ দিন, যেহেতু এটি IE তে কাজ করবে না। আপনি কি এটি পরীক্ষা করেছেন?
তারা

4
@ ডডসন দয়া করে নির্দিষ্ট করুন যে "কোন কাজ করবে না" এবং আপনি যে আইই এর সংস্করণ (গুলি) বলছেন। (নীচে টিআইআইন্ডারের আরও সাম্প্রতিক উত্তর বর্ণিত পদ্ধতিটি ব্যবহার করা এখন নিরাপদ, যদিও এটি গ্রহণযোগ্য চিহ্নটি পাওয়া উচিত))
পেক্কা

2
@ সার্জিউ উত্তরটি সাত বছরের পুরনো। আমি এটি মুছতে পারি না, এবং প্রশ্নকারী গ্রহণযোগ্য চিহ্নটি স্যুইচ করার জন্য আমার অনুরোধের প্রতিক্রিয়া জানায় না ... আমরা কিছুই করতে পারি না, যদিও আমি আরও বর্তমান উত্তরের একটি লিঙ্ক যুক্ত করব
পেক্কা

1
@ দানি নীচে টিআইআইউন্ডারের উত্তর দেখুন, যা এখন সঠিক।
পেক্কা

455

HTML5 সমর্থন করে এমন আধুনিক ব্রাউজারগুলিতে নিম্নলিখিতগুলি সম্ভব:

<a href="link/to/your/download/file" download>Download link</a>

আপনি এটি ব্যবহার করতে পারেন:

<a href="link/to/your/download/file" download="filename">Download link</a>

এটি আপনাকে ডাউনলোড করা ফাইলটির নাম পরিবর্তন করতে দেয়।


আমি পিএফডি ফাইল ডাউনলোডের জন্য একই কোড ব্যবহার করেছি এবং আমি সমস্ত ব্রাউজারে পরীক্ষিত সবাই সমর্থন করি তবে সাফারিতে এই কোডটি নতুন ট্যাবে পিডিএফ ফাইলটি ডাউনলোডের পরিবর্তে সাফারি কাজ করছে না।
রিনিশ খুন্ট

6
caniuse.com/#search=download% 20 ক্রোম, এজ, ফায়ারফক্স, অপেরা এবং সর্বশেষে অ্যান্ড্রয়েড 4.4+ ব্রাউজারগুলিতে কাজ করে এবং ইন্টারনেট এক্সপ্লোরার এবং সাফারিতে নয়।
বার্ট ভেরকোইজেন

আমি কীভাবে এটি করতে পারি যদি আমি একটি বোতাম ক্লিকের লিঙ্কটি গতিশীলভাবে তৈরি করি?
নংথনবাম টনথোই

1
@ নংথনব্যাম টনথোই আপনি জাভাস্ক্রিপ্টটি ব্যবহার করে একটি ট্যাগকে গতিশীলরূপে নির্ধারণ করতে পারেন
অক্ষয় কিশোর

1
এটি অগত্যা কাজ করছে না, কারণ এটি একই-উত্সের URL গুলিতে সীমাবদ্ধ।
নাথান

22

<a downloadইতিমধ্যে উল্লিখিত এইচটিএমএল 5 এর বৈশিষ্ট্যে অতিরিক্ত (বা প্রতিস্থাপনে) , ডিস্ক আচরণে
ব্রাউজারের ডাউনলোডটি নিম্নলিখিত পোস্টের প্রতিক্রিয়া শিরোনাম দ্বারাও ট্রিগার করা যেতে পারে:

Content-Disposition: attachment; filename=ProposedFileName.txt;

এইচটিএমএল 5 এর আগে করার উপায়টি ছিল (এবং এখনও এইচটিএমএল 5 সমর্থনকারী ব্রাউজারগুলির সাথে কাজ করে)।


4
তবে এর জন্য কোনও সার্ভারের পাশের প্রয়োগ প্রয়োজন, সঠিক?
লম্বাস

@ লম্বাস হ্যাঁ, কেবল সার্ভারই ​​এইচটিসি প্রতিক্রিয়া শিরোনাম সেট করতে পারে।
মায়োবিস

এটি কি পুরো উত্তর? ডাউনলোডটি জোর করার জন্য আপনাকে একটি সামগ্রী ধরণের শিরোনাম প্রেরণ এবং ফাইলটি পড়তে হবে। আপনার উত্তরটি করতে এবং এটি করতে চাই। এখানে সম্পূর্ণ উত্তর: stackoverflow.com/a/1465631/2757916
গোবিন্দ রাই

এটি সার্ভার পার্শ্ব বাস্তবায়নের জন্য উপযুক্ত, ঠিক সঠিক বিষয়বস্তুর প্রকারও। এটা ভাল তুলনায় সমর্থিত downloadঅ্যাট্রিবিউট
william.eyidi

9

ডাউনলোড লিঙ্কটি আপনি যে সংস্থানটি ডাউনলোড করতে চান তার লিঙ্ক হবে। এটি অন্য যে কোনও লিঙ্কের মতো হবে তেমনভাবে নির্মিত হয়েছে:

<a href="path to resource.name of file">Link</a>

<a href="files/installer.exe">Link to installer</a>

8

ফাইলটিতে লিঙ্ক করতে, অন্য কোনও পৃষ্ঠার লিঙ্কের মতোই করুন:

<a href="...">link text</a>

কোনও এম্বেড থাকা প্লাগইন (উইন্ডোজ + কুইকটাইম = উঘ) থাকলেও জিনিসগুলিকে ডাউনলোড করতে বাধ্য করার জন্য, আপনি এটি আপনার এইচটিএ্যাক্সেস / অ্যাপাচি ২.কম এ ব্যবহার করতে পারেন:

AddType application/octet-stream EXTENSION

ধন্যবাদ! এটি অনেক সহজ এবং সার্ভার-ওয়াইড! : ডিআই এই লিঙ্কটি খুঁজে পেয়েছিল যা আরও কিছুটা বিস্তৃত। ধন্যবাদ. htaccess-guide.com/adding-mime-types
জো ডিএফ

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

4

এই থ্রেডটি সম্ভবত এখনই প্রাচীন, তবে এটি আমার স্থানীয় ফাইলের জন্য এইচটিএমএল 5 তে কাজ করে।

পিডিএফএস এর জন্য:

<p><a href="file:///........example.pdf" download target="_blank">test pdf</a></p>

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

<p><a href="images/logo2.png" download>test pdf</a></p>

2

ডাউনলোডের বৈশিষ্ট্যটি আইই তে কাজ করে না, এটি "ডাউনলোড" পুরোপুরি উপেক্ষা করে। ডাউনলোডটি ফায়ারফক্সে কাজ করে না যদি href কোনও প্রত্যন্ত সাইটে নির্দেশ করে। সুতরাং ওডিনের উদাহরণ ফায়ারফক্স ৪১.০.২ এ কাজ করে না।


1

এখানে আরও একটি সূক্ষ্মতা রয়েছে যা এখানে সহায়তা করতে পারে।

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

কিন্তু .. এটি ইউআরএল এর ফাইলনেমে এক্সটেনশন পরীক্ষা করার উপর ভিত্তি করে! আপনি সার্ভারের এক্সটেনশন ম্যাপিংয়ের সাথে ঝাঁকুনি দিতে চান না কারণ আপনি একই ফাইলটিকে দুটি ভিন্ন উপায়ে সরবরাহ করতে চান। সুতরাং ডাউনলোডের জন্য, আপনি ফাইলটিকে এমন একটি নামের সাথে সফটলিঙ্ক করে এই এক্সটেনশান ম্যাপিংয়ের কাছে অস্বচ্ছ, এটি দেখিয়ে, এবং তারপরে নামটি স্থির করতে ডাউনলোডের পুনরায় নামকরণ বৈশিষ্ট্যটি ব্যবহার করে বোকা বানাতে পারেন।

<a target="_blank" download="realname.mp3" href="realname.UNKNOWN">Download it</a>
<a target="_blank" href="realname.mp3">Play it</a>

আমি আশা করছিলাম যে শেষের দিকে একটি ডামি ক্যোয়ারী ফেলে দিচ্ছি বা অন্যথায় এক্সটেনশনটি অবলম্বন করা কার্যকর হবে, তবে দুঃখের বিষয়, এটি হয় না।


0

<a>এইচটিএমএল 5 এ ট্যাগের জন্য ডাউনলোডের বৈশিষ্ট্যটি নতুন

<a href="http://www.odin.com/form.pdf" download>Download Form</a>
অথবা
<a href="http://www.odin.com/form.pdf" download="Form">Download Form</a>

যে কোনও এক্সটেনশনের ক্ষেত্রে এটি প্রথম পছন্দটিকে আমি পছন্দ করি।


0

আপনি আমার উপায় অনুসরণ করতে বিভিন্নভাবে ডাউনলোড করতে পারেন। যদিও 'অনুমতি-পপআপস' এর কারণে ফাইলগুলি ডাউনলোড নাও হতে পারে তবে অনুমতিটি সেট করা হয়নি তবে আপনার পরিবেশে, এটি পুরোপুরি কার্যকর হবে

<div className="col-6">
                    <a  download href="https://www.w3schools.com/images/myw3schoolsimage.jpg" >Test Download </a>
                </div>

'এক্স-ফ্রেম-বিকল্পগুলি' থেকে 'সমরিগিন' এর কারণে এটির আর একটিও ব্যর্থ হবে।

<a href="https://www.w3schools.com/images/myw3schoolsimage.jpg" download>
  <img src="https://www.w3schools.com/images/myw3schoolsimage.jpg" alt="W3Schools" width="104" height="142">
</a>


-3

এটার মত

<a href="www.yoursite.com/theThingYouWantToDownload">Link name</a>

সুতরাং সাইটের উদাহরণ.কমের একটি ফাইল নাম.জেপিজি এর মতো দেখতে পাবেন

<a href="www.example.com/name.jpg">Image</a>

পরেরটির সমস্যাটি হ'ল এটি ব্রাউজারে খুলবে, ডাউনলোড এবং সংরক্ষণের জন্য দেওয়া হবে না।
পেক্কা

9
কাজ করবে না; ব্রাউজার এটিকে আপেক্ষিক লিঙ্ক হিসাবে বিবেচনা করবে ./www.example.com/name.jpg- আপনাকে অবশ্যই http://নির্দিষ্ট ডোমেনের সাথে নিখুঁত লিঙ্কগুলির জন্য ব্যবহার করতে হবে ।
ডিলান আজাবানী

-7

আমি জানি আমি দেরি করে ফেলেছি তবে 1 ঘন্টা অনুসন্ধানের পরে আমি এটি পেয়েছি

 <?php 
      $file = 'file.pdf';

    if (! file) {
        die('file not found'); //Or do something 
    } else {
       if(isset($_GET['file'])){  
        // Set headers
        header("Cache-Control: public");
        header("Content-Description: File Transfer");
        header("Content-Disposition: attachment; filename=$file");
        header("Content-Type: application/zip");
        header("Content-Transfer-Encoding: binary");
        // Read the file from disk
        readfile($file); }
    }

    ?>

এবং ডাউনলোডযোগ্য লিঙ্কের জন্য আমি এটি করেছি

<a href="index.php?file=file.pdf">Download PDF</a>

6
এটা ভয়ানক। আমি যখন এই জাতীয় ডাউনলোড লিঙ্কটি দেখি তখন আমাকে সূচি.পিএফপি? ফাইল = সূচিপত্রের চেষ্টা করার অনুরোধটি প্রতিহত করতে হবে যা আপনার কোডের অনুলিপি / পেস্ট প্রয়োগের ফলে অবশেষে কোনও দূষিত ব্যক্তিকে আপনার ডাটাবেসে অ্যাক্সেস দিতে পারে এবং কে কী জানে।
এম স্ট্রামম

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