দুর্দান্ত প্রশ্ন ... এবং আরও বিশদ প্রাপ্য। আমি এখানে একটি আকর্ষণীয় পরিস্থিতির ফলস্বরূপ নিজেকে খুঁজে পাই। আমরা এমভিসি 3 / সি # পরিবেশের মাধ্যমে কিছু পিডিএফ সংযুক্তি সরবরাহ করছিলাম। আমাদের কোডটি মুক্তি পেয়েছে এবং আমরা আমাদের ক্লায়েন্টদের কাছ থেকে কিছু প্রতিক্রিয়া পেতে শুরু করি যে যখন ডাউনলোডগুলি ক্রোম ব্যবহার করার সময় অদ্ভুত আচরণ করছিল এবং ফাইল টাইপটি 'পিডিএফ-, সংযুক্তি.পিডিএফ-, সংযুক্তি' তে রূপান্তরিত হয়। হ্যাঁ ... আপনি এটি পেয়েছেন ... পুরো জিনিস। সুতরাং, কেউ এটি কেবল 'পিডিএফ' হিসাবে পুনরায় লিখতে পারে এবং ফাইলটি এখনও অক্ষত সংরক্ষণ করতে পারে, তবে কী গোলমাল!
সুতরাং, প্রাথমিক পরিস্থিতি বর্ণনা করতে, আমরা 'বিষয়বস্তু-বিশৃঙ্খলা' শিরোনাম সেট করেছিলাম তারপরে একটি ফাইলসন্টেন্টস রেজাল্ট ফিরিয়ে দিচ্ছি ...
var cd = new System.Net.Mime.ContentDisposition
{
FileName = result.Attachment.FileName,
Inline = false
};
Response.AppendHeader("Content-Disposition", cd.ToString());
return File(result.Attachment.Data, MimeExtensionHelper.GetMimeType(result.Attachment.FileName), result.Attachment.FileName);
ভাল লাগছিল। আইই তে কাজ করেছেন। সুতরাং আমি কিছু গবেষণা করেছি এবং পরিবর্তে ফাইলস্ট্রিমআরসাল্ট বাস্তবায়নের চেষ্টা করেছি (বিষয়বস্তু-বিশৃঙ্খলা সেটর রেখে):
MemoryStream dataStream = new MemoryStream();
dataStream.Write(result.Attachment.Data, 0, result.Attachment.Data.Length);
dataStream.Position = 0;
return new FileStreamResult(dataStream, MimeExtensionHelper.GetMimeType(result.Attachment.FileName));
এটি ক্রোমে সমস্যা সমাধান করেছে! হুম ... তবে কেন হ্যাকের জন্য আমাকে আমার পুরো ভাল বাইট অ্যারে নিতে হবে এবং এটিকে প্রবাহিত করতে হবে এবং তারপরে ফাইলটির নামটি সঠিকভাবে কাজ করার জন্য এটি দিয়ে এটি ফিরিয়ে দেওয়া উচিত?
তারপরে ফিদলার এসেছিল।
ফাইলকন্টেন্টআরসাল্টের সাথে, আমি শিরোনামে 2 টি বিষয়বস্তু-বিভাজন পেয়েছি। ফাইল স্ট্রিমারসাল্ট সহ, আমি 1 পেয়েছি।
ফাইলের নাম সরবরাহ করার সময় ফাইল কনটেন্টারসাল্ট একটি সামগ্রী-বিশৃঙ্খলা শিরোনাম সংযোজন করে এবং Chrome এই শিরোনামের গুণকে একটি ত্রুটি হিসাবে বিবেচনা করে।
অদ্ভুত প্রতিক্রিয়া ... তবে অবশ্যই এটি জানা ভাল।
System.Web.MimeMapping.GetMimeMapping(filename)
সহজেই অ্যাক্সেস করতে না পারলে আপনি মাইম প্রকারটি সংগ্রহ করতে ব্যবহার করতে পারেন।