ASP.NET MVC 上传包含对象的文件

ASP.NET MVC upload file containing objects

我有一个包含 csv 文件和头像图像的目录。

csv文件内容如下

Id    Name    Avatar        Dept        School
1     Mark    01019.jpg     Market      None
2     John    21122.jpg     Business    None
3     Sam     33311.jpg     IT          None
....
....
50    James   9823.jpg      IT          USA

头像图片放在csv文件的同一文件夹中。

我想要的是,当用户上传 csv 文件时,文件中的信息将转换为业务对象,例如 Person。我可以上传并解析 csv 以获取 Id、姓名、部门、​​学校,但当然不能让它在同一个 Web 请求中将头像图像(在 csv 文件中)上传到服务器。

实现这一目标的可能方法是什么?假设我想避免将所有图像+csv 压缩到一个 .zip 文件中,然后将其上传到服务器。

谢谢。

我喜欢人们通过排除唯一可能的解决方案来结束他们的问题。

服务器(您的 Web 应用程序所在的位置 运行)无法直接访问客户端(文件所在的位置)。服务器唯一可以使用的是客户端选择给它的东西。因此,您的选择是让用户单独上传每个图像文件以及 CSV,或者将其全部压缩,以便他们可以在一次上传中发送所有内容。而已。时期。至少有一个标准的网页。

您当然可以创建一个 Java 小程序或 Flash 应用程序,用户将授权它们访问他们的文件系统以检索必要的文件。本质上,过程仍然相同,只是 Java/Flash 应用程序会自动执行文件上传,而不是要求用户手动执行。然而,Java(在网络上)和 Flash 在这一点上都几乎是死技术,所以通过使用其中任何一个,你正在创建对某些东西的依赖性 constantly 被利用并且不保证在您的应用程序的生命周期内继续接收安全补丁。尤其是 Flash,已经停产,因此 Adob​​e 最多将在未来几年内完全放弃支持。

总而言之,告诉您的用户将其压缩并上传 zip 文件。