链接到mvc中的物理文件

时间:2012-12-22 10:37:31

标签: jquery .net asp.net-mvc

我需要从物理目录中读取文件并在视图中显示为链接。 我正在获取该文件的链接,但单击链接时未下载文件。 下面是代码。请帮忙。当我将鼠标悬停在链接上时,我可以将文件视为file:/// c:/Test/Test.doc但是点击该链接时,文件不会被下载。

  public class Documents: Controller
  {

    public ActionResult Documents()
    {
        return View();
    }

    //Read the files from directory and display
    [HttpGet]
    public JsonResult GetDocumentlinks()
    {
        string data = "";
            foreach (string s in Directory.GetFiles(@"C:/Test"))
                {

                    var uri = new Uri(s);
                    var converted = uri.AbsoluteUri;
                    data = "</br>" + data + "<a href='" + converted + "'>" + Path.GetFileName(s)      + " </a> </br></br>";

                }

        return Json(data, JsonRequestBehavior.AllowGet);
    }

   }




   <div id="links"></div>
   $(document).ready(function () {

   LoadTrainingDocsGrid();
   });

   function LoadTrainingDocsGrid()
   {
   $.ajax({
     cache: false,
     url: '../Document/GetDocumentlinks/',
     dataType: 'json',
     type: 'GET',
     contentType: 'application/json; charset=utf-8',
     success: function (data) {
         debugger;
         $('#links').html(data);
     }
     });
      }

1 个答案:

答案 0 :(得分:0)

以下post提供了有关您遇到的困难的详细信息。

它描述了物理和虚拟文件夹之间的关系,以及如何将当前正在呈现的链接(物理文件链接)更改为正确的链接(http:// urls引用虚拟文件夹)以获取您正在寻找的行为。

希望有所帮助。