我有一个MVC网站,可以在以下页面上放置图像:
@foreach (var itm in Model)
{
{
<img class="images" style="padding-left: 10px; padding-top: 15px;"
src="~/Content/images/@itm.ImageUrl" />
}
}
以前它并不打算支持添加图像,因此所有ImageUrl都指向了一个占位符剪影照片。现在,我通过FTP上传我的API上传图像。
图像在服务器上,页面指的是每个图像的正确位置,但是找不到图像,因为它们不存在。当占位符轮廓图像正确显示时,该位置绝对正确。
然后我将这些图像添加到我的VS项目中并进行了发布,奇怪的是,这些图片现在显示得很好。
这显然无法解决问题,因为API应该将图像存储在网站中,而不必每次都从VS发布!
我将图像发布到FTP,如:
public static bool ftpTransfer(string fileName, byte[] image)
{
byte[] buffer = image;
string ftpAddress = "xxxxx";
string username = "xxxxx";
string password = "xxxxx";
WebRequest request = WebRequest.Create(ftpAddress + "/" + "site" + "/" + "wwwroot" + "/" + "Content" + "/" + "images" + "/" + fileName);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(username, password);
Stream reqStream = request.GetRequestStream();
reqStream.Write(buffer, 0, buffer.Length);
reqStream.Close();
return true;
}
那是怎么回事?src="~/Content/images/@itm.ImageUrl"
为什么在我发布之前找不到图像,尽管它在文件夹中?