0
セッションを使ってジェネリックハンドラ(upload.ashx)からファイル名をアップロードしようとしましたが、問題ありません。私は同じページでwebmethodを使用することもできますし、uploadifyは素晴らしいですが、Session ["fileName"]がnullになっています。私のコードに何か間違っていますか?私はファイル名を取得するためにジェネリックハンドラを使用する必要がありますか?webmethodから同じページにセッション変数(uploadifyによってアップロード)を渡す(Asp.Net)?
[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)でセッションを処理することができます.iはなぜ私はこのようなwebmethodを使用できないのだろうかと思う。 – blackraist
ジェネリックハンドラでセッションをどのように処理していますか?コードを表示できますか? –
パブリッククラスアップロード:IHTTPハンドラ、IRequiresSessionState {公共ボイドのprocessRequest(のHttpContextコンテキスト) {が {HttpPostedFileファイル= context.Request.Files [ "FILEDATA"]を試みます。 context.Session ["fileName"] = file.FileName; //動作しています context.Response.Write( "1"); } catch { context.Response.Write( "0"); }} パブリックブールIsReusable {偽 {リターンを得ます。 } } } – blackraist