我正在尝试在远程SQl服务器中上传新帖子,但一切正常,但是当我在上传中选择照片时说“处理您的请求时发生错误”,这在localhost服务器上效果很好,但在远程服务器上效果不佳
公共异步任务NewPost([Bind(“ Id,Title,PhotoUrl,Category,Description,”)]发表) {
var files = HttpContext.Request.Form.Files;
foreach (var Image in files)
{
if (Image != null && Image.Length > 0)
{
var file = Image;
var uploads = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/postimages");
if (file.Length > 0)
{
var fileName = ContentDispositionHeaderValue.Parse
(file.ContentDisposition).FileName.Trim('"');
System.Console.WriteLine(fileName);
using (var fileStream = new FileStream(Path.Combine(uploads, file.FileName), FileMode.Create))
{
await file.CopyToAsync(fileStream);
post.PhotoUrl = file.FileName;
}
}
}
}
post.Author = _user.GetUserName(HttpContext.User);
_context.Posts.Add(post);
await _context.SaveChangesAsync();
return RedirectToAction("Index", "Admin");
}
它在本地服务器上完美运行,
答案 0 :(得分:0)
该问题似乎是存储权限问题。它在localhost中可以正常工作,并且仅在服务器中显示错误。此外,在您的评论中,您提到这是在共享主机解决方案中。在Windows的共享托管中,您将必须特别为IIS用户授予特定文件夹的权限。这可以在托管服务提供商的网站上完成(您可能具有并行服务器之类的控制台)。