Asp.net mvc 我通过FTP通过WebAPI上传的图像在MVC中不可访问

Asp.net mvc 我通过FTP通过WebAPI上传的图像在MVC中不可访问,asp.net-mvc,visual-studio-2013,ftp,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" /> } } 那么到底发生了什么,为什么src=“~/Content/images/@itm.ImageUrl

我有一个MVC站点,它在页面上放置图像,如:

    @foreach (var itm in Model)
{
    {
        <img class="images" style="padding-left: 10px; padding-top: 15px;"
         src="~/Content/images/@itm.ImageUrl" />
    }
}

那么到底发生了什么,为什么
src=“~/Content/images/@itm.ImageUrl”
在我发布之前找不到该图像,尽管它在文件夹中?

您的问题包含大量不相关的信息,并且缺少相关信息。所以核心问题是“我通过WebAPI上传的图像在MVC中无法访问”?对不起。希望这样更好。我认为它们在我从VSI发布后出现是相关的,我的意思是你应该展示一些相关的代码或解释你的上传过程是如何工作的。很明显,问题就在那里。如果在您将它们添加到VS+发布时它们起作用,但在您通过api/ftp上传时不起作用,则可能是您上传到了错误的文件夹(我假设您在上传后检查了它们是否确实存在于图像文件夹中),或者更可能是,您的文件夹权限不正确,并且您的应用程序池运行的asp.net或
IIdentity
无法访问上载的文件。另外,您确实不应该从第三方应用程序(api/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;
}