Asp.net 上载GUID为映像名的新记录
对于我的CMS,我希望用户能够上传连接到产品的图片。这一切都很顺利,直到有人想在创建新记录时上传图片 这里的问题是每个产品都有一个GUID(在ProductID(PK)旁边),并且将在第一次保存产品时创建。我正在通过一个带有Uploadify jquery插件的Web服务上传我的图像,所以这一切都是以基于ajax的方式进行的。但是,图像上载程序需要知道GUID才能将其存储在正确的目录中 我的临时解决方案是让用户在上传之前保存产品,这样就可以知道GUID,但它对用户不是很友好,我相信会有更好的方法,但我自己找不到令人满意的方法 这是我能想到的唯一一个选择,虽然还可以,但也许我完全错过了一些东西:Asp.net 上载GUID为映像名的新记录,asp.net,file-upload,guid,Asp.net,File Upload,Guid,对于我的CMS,我希望用户能够上传连接到产品的图片。这一切都很顺利,直到有人想在创建新记录时上传图片 这里的问题是每个产品都有一个GUID(在ProductID(PK)旁边),并且将在第一次保存产品时创建。我正在通过一个带有Uploadify jquery插件的Web服务上传我的图像,所以这一切都是以基于ajax的方式进行的。但是,图像上载程序需要知道GUID才能将其存储在正确的目录中 我的临时解决方案是让用户在上传之前保存产品,这样就可以知道GUID,但它对用户不是很友好,我相信会有更好的方法
- 在不保存产品的情况下创建GUID,以便可以上载映像,并在以后保存具有GUID的产品。但是如果用户在上传后导航离开呢?我可以创建一个计划任务来删除那些孤立的图像
马克你基本上是自己回答问题的 键是临时文件。这里有一个更聪明的方法:将图像保存在临时文件夹中,并在
会话
对象中记住图像名称。如果用户导航离开,在Global.asax的Session\u End
方法中,删除这些图像(最好说是垃圾收集)
如果用户保存产品,请永久存储图像并相应命名 谢谢,那可能是我找的丢失的链接。完美的请记住,Session_End仅为inproc会话状态提供程序(在asp.net提供的会话状态提供程序中)触发。状态服务器和sql server实现不会触发会话结束。