Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 上载GUID为映像名的新记录_Asp.net_File Upload_Guid - Fatal编程技术网

Asp.net 上载GUID为映像名的新记录

Asp.net 上载GUID为映像名的新记录,asp.net,file-upload,guid,Asp.net,File Upload,Guid,对于我的CMS,我希望用户能够上传连接到产品的图片。这一切都很顺利,直到有人想在创建新记录时上传图片 这里的问题是每个产品都有一个GUID(在ProductID(PK)旁边),并且将在第一次保存产品时创建。我正在通过一个带有Uploadify jquery插件的Web服务上传我的图像,所以这一切都是以基于ajax的方式进行的。但是,图像上载程序需要知道GUID才能将其存储在正确的目录中 我的临时解决方案是让用户在上传之前保存产品,这样就可以知道GUID,但它对用户不是很友好,我相信会有更好的方法

对于我的CMS,我希望用户能够上传连接到产品的图片。这一切都很顺利,直到有人想在创建新记录时上传图片

这里的问题是每个产品都有一个GUID(在ProductID(PK)旁边),并且将在第一次保存产品时创建。我正在通过一个带有Uploadify jquery插件的Web服务上传我的图像,所以这一切都是以基于ajax的方式进行的。但是,图像上载程序需要知道GUID才能将其存储在正确的目录中

我的临时解决方案是让用户在上传之前保存产品,这样就可以知道GUID,但它对用户不是很友好,我相信会有更好的方法,但我自己找不到令人满意的方法

这是我能想到的唯一一个选择,虽然还可以,但也许我完全错过了一些东西:

  • 在不保存产品的情况下创建GUID,以便可以上载映像,并在以后保存具有GUID的产品。但是如果用户在上传后导航离开呢?我可以创建一个计划任务来删除那些孤立的图像
有人处理过类似的情况吗?我非常感兴趣的是你对他的看法,因为这个功能将在我的CMS的多个部分中使用

谢谢你的时间

亲切问候,,
马克

你基本上是自己回答问题的

键是临时文件。这里有一个更聪明的方法:将图像保存在临时文件夹中,并在
会话
对象中记住图像名称。如果用户导航离开,在Global.asax的
Session\u End
方法中,删除这些图像(最好说是垃圾收集)


如果用户保存产品,请永久存储图像并相应命名

谢谢,那可能是我找的丢失的链接。完美的请记住,Session_End仅为inproc会话状态提供程序(在asp.net提供的会话状态提供程序中)触发。状态服务器和sql server实现不会触发会话结束。