这是我的应用程序结构
在App.Repositories中,我有一个文件夹用于存储上传的文件。到目前为止,我已经能够获取格式如下的文件位置:
C:\ Users \ userone \ source \ repos \ DBN \ DS \ DS.Repository \ Repositories \ Sample \ acc_bcc.PNG
但是,当我尝试通过这样的超链接打开它时,它不会打开
var url = data.Link;
return "<a href='" + url + "'>" + data.Name+"</i></a>"
a href当前显示https://localhost:8080/C:\ Users
如何将其转化为对href有用的内容?
编辑:
使用提供的答案,但我仍然被困住
"data": function (data, type, row, meta) {
var url = "@Url.Action("GetFileData", @ViewContext.RouteData.Values["controller"].ToString())/" + data.Link;
return "<a href='" + url + "'>" + data.Name+"</i></a>"
}, "name": "Name"
public FileResult GetFileData(string Input)
{
var path = @Input;
var FileName = "abc";
var fileBytes = System.IO.File.ReadAllBytes(path);
return File(fileBytes, MediaTypeNames.Application.Octet, FileName);
}
答案 0 :(得分:0)
这是实现文件结果的示例,可以替换url:
"data": function (data, type, row, meta) {
var url = "@Url.Action("GetFileData", @ViewContext.RouteData.Values["controller"].ToString())?input=" + data.Link;
return "<a href='" + url + "'>" + data.Name+"</a>"
}, "name": "Name"
public FileResult GetFileData(string input)
{
// input is a full path
var FileName = "abc";
var fileBytes = System.IO.File.ReadAllBytes(input);
return File(fileBytes, MediaTypeNames.Application.Octet, FileName);
}