0
當我嘗試從通用處理程序(upload.ashx)使用會話獲取上傳的文件名時,沒問題。我也可以在同一頁面上使用webmethod,並且uploadify工程很好,但Session [「fileName」]變爲空。我的代碼有什麼問題嗎?我只需要使用通用處理程序來獲取文件名?從webmethod將(Asp.Net)會話變量(uploadify上傳)傳遞到同一頁面?
[WebMethod(EnableSession = true)]
public void LoadPicture(HttpContext context)
{
try
{
HttpPostedFile file = context.Request.Files["Filedata"];
context.Session["fileName"] = file.FileName;
....................一些調整大小並保存圖像編碼.........
context.Response.Write("1");
}
catch (Exception ex)
{
context.Response.Write("0");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
using (_modelService = new ModelService())
{
ModelEntity _models = new ModelEntity();
......some codes....
_models.modelphoto = Session["fileName"].ToString();
_modelService.ModelAdd(_models);
}
}
感謝您的快速回復。但我可以使用通用處理程序(IRequiresSessionState)處理會話。我只是想知道爲什麼我不能像這樣使用webmethod。謝謝 – blackraist
你如何處理通用處理程序的會話?你能顯示你的代碼嗎? –
公共類上載:的IHttpHandler,IRequiresSessionState { 公共無效的ProcessRequest(HttpContext的上下文) { 嘗試 { HttpPostedFile文件= context.Request.Files [ 「Filedata上」]; context.Session [「fileName」] = file.FileName; //它的工作原理 context.Response.Write(「1」); } catch { context.Response.Write(「0」); }} 公共BOOL IsReusable { 得到 { 返回FALSE; } } } – blackraist