我已使用ASP.NET MVC 3 C#在我的SQL Server上成功上传了一个Image。
此外,我已成功在“索引”视图中成功显示/下载了该图像。
但是,在数据的“编辑”视图中出现问题
如果通过在视图中选择文件更改了图像,新图像将存储在数据库中,一切正常。
但是当用户不更改图像时,存储在SQL Server中的值为空?
如何避免这种情况。
即,如果在编辑视图中未选择/更新图像,则不应将数据库中先前存储的图像更新为空值。
答案 0 :(得分:2)
问题是,当用户不更改图像时,帖子不包含图像数据。您正在直接更新表格中的所有字段,因此将图片字段设置为NULL
。
您可以检查您是否确实在帖子中收到了图片,并且未在更新语句中将其设置为NULL
,或者将图片上传提取为单独的操作。对于用户来说,为图像上传设置一个明确分开的UI可能更加友好(否则他们可能会混淆:如果我编辑其他字段,我的图像会消失吗?)
答案 1 :(得分:0)
对于编辑页面,您应该添加以前存储的默认帖子数据。
如果您未在编辑表单中提供默认值(默认值应来自先前存储的数据),则表单将与NULL
数据一起提交。
在这种情况下,您将在更新期间获得NULL
。
希望这个问题对你有很大的帮助 -
How update/edit uploaded files in asp.net mvc 5 without redundancy?