Io 从UNC共享(使用ASP.NET MVC 3/IE 9)下载时,PDF为纯文本/编码格式

Io 从UNC共享(使用ASP.NET MVC 3/IE 9)下载时,PDF为纯文本/编码格式,io,internet-explorer-9,asp.net-mvc-3,Io,Internet Explorer 9,Asp.net Mvc 3,我编写了一个控制器操作,检查是否存在PDF文件,然后将该文件(如果找到)作为下载返回到浏览器 public ActionResult GetMyFile(string path) { if (String.IsNullOrWhiteSpace(path)) { throw new ArgumentNullException("filename"); } string downloadFileName = System.IO.Path.GetFileName(path);

我编写了一个控制器操作,检查是否存在PDF文件,然后将该文件(如果找到)作为下载返回到浏览器

public ActionResult GetMyFile(string path)
{
    if (String.IsNullOrWhiteSpace(path)) { throw new ArgumentNullException("filename"); }

    string downloadFileName = System.IO.Path.GetFileName(path);
    // The worker process identity must have read access in both the file system and share
    // otherwise this always returns false.
    if (System.IO.File.Exists(path)) 
    {
        FilePathResult result = 
            File(path, System.Net.Mime.MediaTypeNames.Application.Pdf, downloadFileName);
        return result;
    }

    return Content("no file", "text-plain");
}
如果path参数引用磁盘上的本地路径(例如
“D:\MyFolder\MyFile.pdf”
),则一切正常,但如果路径是UNC路径,则返回pdf,但在浏览器中呈现为纯文本

这是一个看起来像什么的片段

%PDF-1.3 10 obj 流动 X���<代码>I�%&/M�{J�J��T��$ؐ@�������iG#)�*��eVe]f@�흼��{����{����;�不���?\fdl��J�ɞ!���?~|?“~Q�����"�信息战�噢����:O��,��'?���dg | g/����P��T�Ӄ����:}��Ç������到���}�7.��Q��/�>O�>�_����9!�<代码>g������Y���|�{�P�?�������?����ܿO����s�>���'ڜH������;��D��>�� ���?��?J��T�M����T�C���O�(一)�����H������~H��7JLǎ��K�%ͧ������T1�������s���=��.F#�׷ww�����Z�wǟҴ~���x�~���二甲苯�������|3.�J����C��)f1<代码>��O�1.�4.�����B�qN̔>������跟J�jB?��݃ ����C��.���ڀ�^ofq�,�聚丙烯���G��=面向对象� ��7.�}��פ�> ��m) }�~�W�W��Q�0SR�3.���2-���&-��Fhy�s�]���HiyF_��� �4.�;Q��L�F��|]>ۍ�hc��C��64���|L�4.�9Pξ�{#-�?��|���=1Tl��O�����݂6�����a֡�.fe΀:�����/��1.��#�{���������?��|v��}�4.�}连续波��!����&Z�v��4.�����Uj0�&���-��������x�我�ģ����|=�9LnI7�&+�gʃ�;��U� M�� M��.�ޏ�D�QvT��ϯ���F���(��������0��������{_������用户界面�摆脱�6.���U��A.��<代码>x“��M��{�o$���� ����.���{@xu�8ӮR�����Ύ�R��{�M��$��O��v����=�������X!~,E,�P����mf�2%9{��M����֍b���8.���ñ��: �体育课��我明白了

将最后的
return
语句更改为:

return Content("no file", "text-plain");

似乎已经解决了这个问题。虽然我不确定为什么会这样。我认为如果第一个
return
(在if块中)被执行,那么最后一个将永远不会出现在图片中

如果其他人能解释原因,我很乐意接受他们的答案。

return null;