我通过FTP上传到WebAPI的图像无法在MVC中访问

时间:2015-09-29 13:04:34

标签: asp.net-mvc visual-studio-2013 ftp

我有一个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"为什么在我发布之前找不到图像,尽管它在文件夹中?

0 个答案:

没有答案