【发布时间】:2017-02-04 19:39:50
【问题描述】:
我正在开发一个 ASP.NET MVC 站点,该站点将允许用户将多个图像上传到画廊。在用户上传他们的图像之后,在将它们保存到数据库之前,用户将能够使用 jQuery 拖放重新排列图像。然后用户可以提交他们的上传。用户以后还可以编辑他们的画廊,并再次有能力重新调整他们的图像顺序。我不会将图像保存到数据库,只是文件名。我不确定如何最好地处理这个问题。我认为 POST 控制器将采用 List<HttpPostedFileBase> 参数,然后转换为 byte [] array 以保持图像顺序。然后将图像名称作为逗号分隔的字符串保存到数据库中?处理这种情况最有效的方法是什么?
【问题讨论】:
-
重新分级逗号分隔为什么不将它存储为 json 所以字符串将是这样的: { "img1":"ImageName", "img2":"ImageName2"..etc} this将更容易访问特定图像并处理它(删除、编辑或添加)
-
实际上我正在寻找的是处理图像文件并保存到数据库的最佳方法,基于图像顺序可能随时间变化的事实。
-
@Valkyriee,图像本身不会被保存到数据库,只有文件名。
-
我应该在我的答案中添加您可以在数据库中添加一个字段以进行排序,任何时候您想将它加载到您的 jquery 并且它会处理它
-
您需要 2 个表,一个用于您创建的“父”对象,一个用于与其关联的图像(一对多关系),该表将包含文件路径的属性,显示名称和父对象的 FK。如果你想以某种特定的顺序显示它们,那么它还需要一个属性(比如)
int Order,以便你可以按Order对它们进行排序。然后在你用来拖放/重新排列图像的任何插件中,你可以更新Order属性并保存回数据库。
标签: c# asp.net asp.net-mvc