我使用uploadify上传音频文件。它使用处理程序upload.ashx将文件上载到服务器。我想在我的aspx页面中获取文件路径。所以我在处理程序中设置了一个会话值,以便我在aspx中获取文件路径,但我无法这样做。如何从文件路径到.aspx页面
获取文件路径的值 public class Upload : IHttpHandler,IRequiresSessionState {
public void ProcessRequest (HttpContext context) {
string savepath = context.Server.MapPath(tempPath);
context.Session["VideoFile"] = savepath; } }
在我的aspx页面中,当我尝试获取文件路径时
DocLink = Session["VideoFile"].ToString();
会话值始终为null。如何在代码中获取会话值
string path= HttpContext.Current.Request.Cookies["VideoFile"].ToString();
我试过这个,即使这是空的
答案 0 :(得分:0)
如果您使用context.Session["VideoFIle"]
等上下文调用它,一切正常,那么第二个可能的原因是您没有设置更正Cookie属性的路径。
检查并在web.config上的httpCookies上设置域名,以确保其不在www.
之内,并且能够从您网域上启动的任何页面中读取
<httpCookies domain="domain.com" httpOnlyCookies="false" requireSSL="false" />
为什么会这样,因为如果您没有在cookie上设置域,那么cookie将从其从URL读取的域中写入,并且会话连接到cookie。如果您的域名发生了变化,例如您使用www.domain.com
进行了调用,并且在一个页面调用中使用了domain.com
,那么Cookie就不一样了,并且会话也不一样。
在处理程序中,上下文来自调用ProcessRequest
而不是HttpContext.Current.Request
的参数。也许这是您的代码中的另一个问题。