我正在尝试访问存储在前端应用程序的 /uploads/ 文件夹中的图像。
我得到http://localhost:4200/uploads/a.jpg和http://localhost:4200/StaticFiles/a.jpg的 404 。我需要图像的路径才能将其显示在图库中。
我尝试使用图像的完整路径(“D:/blabla/uploads/a.jpg”),但似乎受到限制。然后我使用下面的代码从后端提供到我的上传文件夹的路径,但我仍然得到 404。
我的后端和前端项目位于不同的文件夹中,我的前端将请求发送到后端的端口。
后端运行最新的.net core,前端是Angular 8。
这就是我提供静态文件的方式:
var aux = Path.Combine(Directory.GetCurrentDirectory(), "uploads");
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(aux),
RequestPath = "/StaticFiles"
}
);
这就是我上传图像的方式。该代码可以工作并上传项目内 /uploads 文件夹中的图像。
var uploadFilesPath = Path.Combine(_host.ContentRootPath, "uploads");
if (!Directory.Exists(uploadFilesPath))
Directory.CreateDirectory(uploadFilesPath);
foreach (var file in fileData)
{
var fileName = Guid.NewGuid() + Path.GetExtension(file.FileName);
var filePath = Path.Combine(uploadFilesPath, fileName);
using (var stream = new FileStream(filePath, FileMode.Create))
{
file.CopyTo(stream);
}
var propToAddImageTo = _propManager.GetById(id);
_propManager.AddImage(propToAddImageTo, filePath);
}
当我尝试设置一个简单的<img src="localhost:4200/uploads/a.jpg">或时<img src="localhost:4200/StaticFiles/a.jpg">,Mozilla 开发人员工具的网络选项卡上的请求显示 404。
12345678_0001
胡说叔叔
相关分类