Io 从UNC共享(使用ASP.NET MVC 3/IE 9)下载时,PDF为纯文本/编码格式
我编写了一个控制器操作,检查是否存在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);
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;