কিভাবে এএসপি.এনইটি দিয়ে .json ফাইল ডাউনলোডের অনুমতি দেওয়া যায়


125

আমি কীভাবে কোনও পুরানো এএসপি.এনইটি সাইট (আইআইএস 6 এর দ্বারা বিশ্বাসের দিকে পরিচালিত করছি) থেকে * .json ফাইল ডাউনলোড সক্ষম করতে পারি?

আমি JSON ফাইলের পরিবর্তে একটি 404 পৃষ্ঠা পাচ্ছি।

আমার কি একটি ওয়েব.কমফিগ ফাইল তৈরি করা দরকার? তাতে কী যায়?


1
আপনার সম্ভবত এটির জন্য একটি মাইম টাইম যুক্ত করতে হবে।
vcsjones

1
একটি জাভাস্ক্রিপ্ট ব্যবহার করার জন্য বা এইচডি সংরক্ষণ করতে?
রেমি

আমি jQuery.ajax এর মাধ্যমে এটি অ্যাক্সেস করতে চাই (url: ...
লায়া হেইস

2
স্থানীয় আইআইএসের একটি তালিকা থাকার পরে এটি যুক্ত করা আপনার পরবর্তী স্থাপনায় এটি সদৃশ তালিকা থেকে 500 টি সার্ভার ত্রুটি ফেলে দিতে পারে তাই এটি মন্তব্য করে।
টম ম্যালার্ড

উত্তর:


118

আইএসআই-তে JSON মাইম টাইপ যুক্ত করুন MS. এমএসডিএন-র কনফিগার মাইম টাইপগুলি (আইআইএস 6.0) এ অনুসরণ করুন

  • সম্প্রসারণ: .জসন
  • মাইমে টাইপ: অ্যাপ্লিকেশন / জেসন

পরিবর্তনের পরে আইআইএস পুনরায় চালু করতে ভুলবেন না।

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


1
চিয়ার্স তবে এটি ওয়েবকনফিগ বা গ্লোবাল কোড ফাইল ব্যতীত অন্য কোনও কিছুতে অ্যাক্সেস ছাড়াই একটি শেয়ার্ড হোস্টিং প্যাকেজে রয়েছে
লায়া হেইস

আপনার যদি আইআইএস .0.০ সেটিংসে অ্যাক্সেস না থাকে এবং আপনার সরবরাহকারীর সমর্থন আপনার জন্য মাইম টাইপ যুক্ত না করে, তবে আপনাকে সরবরাহকারীদের বা আইআইএস .0.০ সহ নতুন সার্ভারগুলিতে সেই সরবরাহকারীর কাছে এটি সরবরাহ করা থাকলে, এই সমর্থন।
জন অ্যাডামস

1
হ্যাঁ, এএসপি.নেট কোনও এএসপিএক্স হ্যান্ডলার বা এমনকি কোনও সাধারণ পৃষ্ঠার মাধ্যমে ফাইলটি পাস করতে পারে তবে আপনি ইউএসএল .json ফাইলের ধরণটি ব্যবহার করতে পারবেন না কারণ এটি অনুরোধটি এএসপি-নেটকে পাস করবে না you রানটাইম। এটি এমন কিছু হতে হবে যা এএসপিএক্স রানটাইমের মধ্য দিয়ে যায়। আপনার যদি আইআইএস সেটিংসে অ্যাক্সেস না থাকে তবে এটি বিদ্যমান বিদ্যমান এক্সটেনশনগুলির মধ্যে একটি হতে হবে .ASPX। আবার, আইআইএস with এর সাথে একটি সার্ভারে স্যুইচ করা আরও অনেক বেশি এবং সহজ সমাধান সরবরাহ করে।
জন অ্যাডামস

1
আইআইএস পুরোপুরি পুনরায় চালু না করে অ্যাপ পুলটি পুনরায় চালু করা যথেষ্ট হবে (এটি আমার ক্ষেত্রে ছিল)।
Kltft

1
@kltft সত্য, একটি অ্যাপল পুনরায় চালু আপডেটটি ট্রিগার করবে, তবে কেবল সেই পুলের জন্য। এই পদক্ষেপগুলির জন্য প্রত্যেকের জন্য সেটিংস পরিবর্তন করা এবং সেটিংগুলির একটি বেমানান স্তরে থাকার পরে সহজেই বিভ্রান্তি ঘটতে পারে। আমি সুরক্ষা এবং বিচক্ষণতার জন্য পুরো iis প্রক্রিয়াটি পুনরায় চালু করার পরামর্শ দিচ্ছি। তবে একটি চিম্টিতে, যদি সকলেই মতামত / মতামতে সম্মত হয় তবে একটি অ্যাপ্লিকেশন পুনরায় চালু করতে পারে।
জন অ্যাডামস

211

আপনি যদি ম্যানুয়ালি আপনার সাইটে সমর্থন যুক্ত করতে চান তবে আপনি কেবল সিস্টেম . webServer বিভাগে আপনার ওয়েবকনফিগটিতে নিম্নলিখিতগুলি যুক্ত করতে পারেন :

<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>

এটি আইআইএসের আওতায় একটি "স্থানীয়" কনফিগারেশন যুক্ত করবে। এটি আইআইএস 6 এ কাজ করে না, তবে আইআইএস 7 এবং আরও নতুনতে কাজ করে।


6
পুরো web.configপথ অন্তর্ভুক্ত করতে আপনার উত্তর আপডেট করেছে ।
GFoley83


1
কোনও কারণে, এটি আমার পুরো সাইটটিকে গোলমেলে ফেলেছে - CSS আর কাজ করে না!
TheJeff

@ জেফ - এটি আমার কাছে ঘটেছিল, তবে আমি দুটি স্ট্যাটিক কনটেন্ট মাইম্যাপ যুক্ত করেছি, একটি জেএসএন (প্রয়োজনীয়) এবং একটি সিএসভির জন্য (রিডানড্যান্ট, আমি ধরে নিলাম এটি প্রয়োজনীয় ছিল, তবে আইআইএসএক্সপ্রেস অ্যাপ্লিকেশন কনফিগটিতে ইতিমধ্যে সিএসভি রয়েছে)। অতএব আমি কোনও স্থির ফাইলে অ্যাক্সেস করার চেষ্টা করার পরে এই ত্রুটিটি পেয়েছি: Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.csv' একবার আমি নকলটি সরিয়ে ফেললে কোনও সমস্যা নেই।
লাল মটর

1
এটি স্থানীয়ভাবে চলাকালীন সমস্যাটি ঠিক করবে তবে লাইভ দিকে এগিয়ে যাওয়ার সময় মনোযোগ দিন। যদি মাইম্যাপটি ইতিমধ্যে আইআইএসে বিশ্বব্যাপী কনফিগার করা থাকে তবে আপনি 500 ত্রুটি পাবেন। সেক্ষেত্রে কেবল আপনার ওয়েবকনফিগ থেকে এই টুকরোটি সরান।
ইভান

20

সমাধানটি আপনাকে এমআইএমআই টাইপগুলিতে জেসন ফাইল এক্সটেনশন প্রকার যুক্ত করতে হবে

পদ্ধতি 1

আইআইএসে যান, আপনার অ্যাপ্লিকেশনটি নির্বাচন করুন এবং মাইএম টাইপগুলি সন্ধান করুন

এখানে চিত্র বর্ণনা লিখুন

ডান প্যানেল থেকে অ্যাড ক্লিক করুন

ফাইলের নাম এক্সটেনশন = .json

মাইম টাইপ = অ্যাপ্লিকেশন / জেসন

এখানে চিত্র বর্ণনা লিখুন

MIME প্রকারে .json ফাইলের প্রকারটি যুক্ত করার পরে , আইআইএস পুনরায় চালু করুন এবং জেসন ফাইল অ্যাক্সেস করার চেষ্টা করুন


পদ্ধতি 2

সেই অ্যাপ্লিকেশনটির ওয়েবকনফিগে যান এবং এতে এই লাইনগুলি যুক্ত করুন

 <system.webServer>
   <staticContent>
     <mimeMap fileExtension=".json" mimeType="application/json" />
   </staticContent>
 </system.webServer>

15

মাইমটাইপের জন্য সমর্থন যোগ করার সময় (@ প্রোভিগা প্রস্তাবিত হিসাবে) এর পরে প্রকারটি যুক্ত করার আগে মুছে ফেলা ভাল অনুশীলন - এটি সার্ভারগুলিতে মোতায়েনের সময় অপ্রত্যাশিত ত্রুটিগুলি রোধ করা যেখানে এই ধরণের সমর্থন ইতিমধ্যে উপস্থিত রয়েছে, উদাহরণস্বরূপ:

<staticContent>
    <remove fileExtension=".json" />
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>

আপনি যখন কেবল মাইম্যাপটি যুক্ত করেন, কখনও কখনও এটি আপনার সিএসএস শৈলীগুলি সরিয়ে দেয়, সুতরাং, সঠিক
উপায়টি

আইআইএস 7 C:\Windows\System32\inetsrv\configফাইলে কনফিগার করার ফাইল: অ্যাপ্লিকেশনহোস্টকনফিগ
ওও

5

কেবল এই সমস্যাটি ছিল তবে আইআইএস এক্সপ্রেসের জন্য কনফিগারটি খুঁজতে হয়েছিল যাতে আমি মাইম প্রকারগুলি যুক্ত করতে পারি। আমার জন্য এটি অবস্থিত ছিল C:\Users\<username>\Documents\IISExpress\config\applicationhost.configএবং আমি সেখানে সঠিক "মাইম মানচিত্র" যুক্ত করতে সক্ষম হয়েছি।


এই কারণেই এটি আইআইএস এক্সপ্রেসের মাধ্যমে আমার পক্ষে কাজ করছে না। দুর্ভাগ্যক্রমে এটি এমন কোনও কিছু নয় যা আমি প্রতিটি দেব মেশিনে কনফিগার করতে চাই যাতে দেখে মনে হয় আমি জেএসন কনফিগারেশন ফাইলের জন্য .js এক্সটেনশনটি স্টিকিংয়ের প্রস্তাব দিই।
জ্পিয়ারসন

এছাড়াও আপনি Web.Config এটা করতে পারেন - এই উত্তর তাকান stackoverflow.com/a/19517275/643761
Simcha Khabinsky

@ সিমখাখাবিনস্কি আমার জন্য ওয়েবকনফিগ যথেষ্ট ছিল না।
জিন-বার্নার্ড পেলারিন

3
Web.config যথেষ্ট না হয়, আপনি আগে এই লাইন যোগ করার প্রয়োজন হতে পারে <mimeMap>নোড: <remove fileExtension=".json" />। আপনার অ্যাপ্লিকেশন হোস্টকনফিগ (বা মেশিন.কনফিগ) স্পর্শ করা উচিত নয়। বলা হচ্ছে, যদি আপনি প্রায়শই নতুন সাইট তৈরি করেন এবং প্রতিটি সাইটের জন্য ওয়েবকনফিগটি পরিবর্তন করতে না চান তবে এই ফাইলগুলিকে সংশোধন করা কার্যকর হতে পারে। এটি দেব পরিবেশের জন্য কাজ করতে পারে তবে প্রায়শই আপনি উত্পাদন পরিবেশে মেশিনকনফিগটি স্পর্শ করতে সক্ষম হন না, তাই আমি তখনও ওয়েবকনফাইগটিতে পরিবর্তন আনার পরামর্শ দেব।
গিলি 3

1
ধন্যবাদ @ গিলি remove
হ্যারিয়ট

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