Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.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
C# 在视图状态下上载图像并保存文件流_C#_Asp.net - Fatal编程技术网

C# 在视图状态下上载图像并保存文件流

C# 在视图状态下上载图像并保存文件流,c#,asp.net,C#,Asp.net,上载图像后,upload.PostedFile.InputStream已设置为空值。 我想将此输入流保存到asp.net视图状态以便重用。您可以使用此代码 protected void upload_Click(object sender, EventArgs e) { if (Upload.Value !="") { System.IO.Stream fs = Upload.PostedFile.InputStream; img_up

上载图像后,upload.PostedFile.InputStream已设置为空值。 我想将此输入流保存到asp.net视图状态以便重用。

您可以使用此代码

    protected void upload_Click(object sender, EventArgs e)
{  
    if (Upload.Value !="")
    {
        System.IO.Stream fs = Upload.PostedFile.InputStream;
        img_uploadStream = Upload.PostedFile.InputStream;
        System.IO.BinaryReader br = new System.IO.BinaryReader(fs);
        Byte[] bytes = CreateThumbnail(br.ReadBytes((Int32)fs.Length),150);
        string base64String = Convert.ToBase64String(bytes, 0, bytes.Length);
        imageField.Src = String.Format("data:{0};base64,{1}", "image/jpeg", base64String);
    }
}

在上载中设置ViewState\u单击:

public Byte[] YourImage
{
get
{
if(ViewState["Key"] != null)
{
 return (Byte[]) ViewState["Key"];
}
return null;
}

set
{
  ViewState["Key"] = value;
}
}
然后,您可以在页面中要使用的任何位置获取viewstate:

ViewState["ImageStream"]=Upload.PostedFile.InputStream;

我试过了!但是我得到了这个错误(在程序集System.Web中键入'System.Web.HttpInputStream',Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'没有标记为可序列化。)不管怎样,谢谢你的回答,Ken Clark:)我很高兴帮助你zey
System.IO.Stream fstream=(System.IO.Stream)ViewState["ImageStream"];