【发布时间】:2021-11-08 15:43:27
【问题描述】:
我使用 ASP.NET Core 的上传工具上传人物图片,我在上传图片工具旁边放了一个 HTML Image 元素来显示上传后的图片。
我为上传工具调用.Success 事件并使用javascript 函数为带有上传图像路径的图像元素设置src 属性。但不幸的是它不起作用:(
这是图像元素
<img id="imgPerons" src="" width="200" height="250">
这是javascript函数:
function onSuccess(e) {
var files = e.files[0];
if (e.operation == "upload") {
document.getElementById("imgPerson").src = "~/images/person_photos/image.jpeg";
}
}
我觉得我的图片路径有问题,因为我使用了如下的在线图片,并且效果很好
function onSuccess(e) {
var files = e.files[0];
if (e.operation == "upload") {
document.getElementById("imgPerson").src = "https://www.example.com/image.jpeg";
}
}
图片的路径有什么问题?
我把上传的图片保存在wwwroot/images/person_photos
路径Views/Home/Index.cshtml中的Image元素和javascript函数
【问题讨论】:
-
什么是通用文档根目录?我的意思是,您在那里显示了 2 条路径,但它们都没有共同的根。没有它,我们无法为您提供所需的相对路径。
-
你有
UseStaticFiles打电话到Startup.cs吗? -
@Alexander 是的,我有
-
无论如何,一般
./表示“当前目录”,../表示上一个目录。所以./image.jpg的意思是“在与此脚本相同的目录中查找 image.jpg”。./../image.png表示“从这个目录开始。向上一个目录并在那里查找图像”。当您了解这一点时,遍历正确的相对路径并将其指向图像应该非常简单。 (旁注:这是一般方式,我对 asp.net-core / kendo 细节一无所知) -
@icecub 感谢您的解释。正如亚历山大所说,错误在于〜唱歌。
标签: javascript asp.net-mvc asp.net-core