百度了很久,一直到不到最佳的解决方案!问题1,虽然asp.net已经支持了url代替cookie的方式,但是项目是用的cookie,所以url传递key有问题.问题2!,有些人在global.asax的每个请求做了处理,但是感觉大多数请求都不是上传文件,但是却做了多余的操作!实在不知道该怎么办?flash上传文件的时候,后台怎么验证用户呢????
你看一下我的博文,其中有一篇是这个的解决方案,希望对你有用。http://www.cnblogs.com/mbailing/archive/2011/03/30/uploadify.html
恩,这个方案可行!但是感觉每次请求必定经过。。。。!呵呵,可能我是一个极端主义吧!哈哈!谢谢啊!
可以上传之前验证一下 然后决定可否上传
这可倒是可以,但是如果在后台得到关于用户的一些信息呢?
@unbreakable:楼下那个说的对 我也记得可以传输其它的数据来着 和ajax一个吊样
不是简单的只能上传图片 你多看看demo
var str = '/Picture/Upload/' + "?userid=" + "@((FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).UserData).ToString())"//用户ID用asp.net的FORM验证并加密,传递时Decrypt $(function () { $("#file_upload").uploadify({ 'auto': false, 'swf': '@Url.Content("~/Content/uploadify.swf")', 'uploader': str, 'queueSizeLimit': 50, 'buttonText': '请选择上传文件', 'fileTypeExts': '*.gif; *.jpg; *.png; *.bmp; *jpeg', }); });
我是在MVC下直接RAZOR语法把用户COOKIES保存的用户ID传递到后台验证的,如果COOKIES过期了后台就不处理返回重新登录提示。
[AcceptVerbs(HttpVerbs.Post)]
public string Upload(string userid)