我将图像保存在驱动器中的以下路径中:
D:\EdsabPmGetsDocument\images\FeaturesImage\1BBD0316AC99418EA5F7B4AECE821581.jpg.
如何将此文件路径转换为客户端键入图像时可在浏览器中查看图像的地址,例如
'http://localhost:5073/D://EdsabPmGetsDocument//images//FeaturesImage//1BBD0316AC99418EA5F7B4AECE821581.jpg'?“
这是我的代码:
public async Task<IEnumerable<DocumentInfoDto>> DocumentFile(string featureId)
{
var featureDocument = await _featureDocumentRepository.FeatureDocumentData(featureId);
if (featureDocument is null||!featureDocument.Any()) throw new NotFoundException();
var path = 'D:\EdsabPmGetsDocument'+ StaticPath + featureDocument.ElementAt(0).DocPath;
var directoryInfo = new DirectoryInfo(path);
var fileInfos = directoryInfo.GetFiles("*.*", SearchOption.AllDirectories);
var imageInfo = fileInfos.Select(a => StaticPath + featureDocument.ElementAt(0).DocPath + "//" + a.Name);
return (from image in imageInfo let selectImage
= featureDocument.FirstOrDefault(a =>
(a.DocName) == image.Split("//").LastOrDefault())
where selectImage is not null
select new DocumentInfoDto {Id = selectImage.Id ,
ImagePath = image, Description = selectImage.Description, DocName = selectImage.DocName,DocExtention =selectImage.DocExtension }).ToList();
}
有人可以帮助我显示图像,图像从外部的项目目录?
2条答案
按热度按时间aelbi1ox1#
经过搜索我找到了解决这个问题的方法
添加到您的启动然后chnage您请求到此:
http://localhost:5073/Assets/Image//images//FeaturesImage//1BBD0316AC99418EA5F7B4AECE821581.jpg
那么这份工作
y4ekin9u2#
我不确定如果你只是想提供一个文件夹与图像,或者如果你想有'更多的控制'所有它。
如果您只想提供图像,一个选择是配置您的Web服务器以提供此静态文件(例如:通过创建一个虚拟目录到您的站点)
如果你需要更多的控制(例如检查请求者是否有足够的权限,...)你可以在你的控制器中创建另一个方法并返回文件。
你可以把它作为一个起点:
然后,www.example.com中的所有正常路由asp.net适用。