Dac*_*ieS 1 c# asp.net-mvc asp.net-mvc-5
我已实现以下代码来上传文件.该文件将上载到该位置("../App_Data/uploads"),但它不会显示在项目中.我必须在项目中手动包含该文件.为什么文件没有显示?
public ActionResult ChangeSetting(SettingViewModel setting)
{
string userId = User.Identity.GetUserId();
ApplicationUser currentUser = this._appUserRepo.Find(e => e.Id.Equals(userId)).FirstOrDefault();
if (setting.PictureUrl != null)
{
if (setting.PictureUrl.ContentLength > 0)
{
string fileName = Path.GetFileName(setting.PictureUrl.FileName);
if (fileName != null)
{
string path = Path.Combine(Server.MapPath("../App_Data/uploads"), fileName);
setting.PictureUrl.SaveAs(path);
if (currentUser != null)
{
currentUser.PictureUrl = path;
currentUser.PictureSmalUrl = path;
currentUser.PictureBigUrl = path;
}
}
}
}
if (setting.FirstName != null)
{
if (currentUser != null) currentUser.FirstName = setting.FirstName;
}
_appUserRepo.Update(currentUser);
return RedirectToAction("index", "Admin");
}
Run Code Online (Sandbox Code Playgroud)
为什么文件没有显示?
因为这就是Visual Studio项目的工作方式 - 解决方案资源管理器中只显示手动包含在项目中的文件.之后由永久进程动态添加到文件夹的文件不会显示在Visual Studio中(除非您手动包含它们并使它们成为解决方案的一部分).但这可能不是你应该担心的事情.用户上载的文件不会自动出现在Visual Studio项目中.重要的是它们存在于预期的位置,并且您的Web应用程序能够在运行时访问它们.只需在Windows资源管理器中打开文件夹的物理位置,即可确认您的代码是否按预期工作.
| 归档时间: |
|
| 查看次数: |
1002 次 |
| 最近记录: |