Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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_Linq_Web - Fatal编程技术网

C# 上载多个图像并显示它们

C# 上载多个图像并显示它们,c#,asp.net,linq,web,C#,Asp.net,Linq,Web,我习惯于在cookies中上传文件上传商店主题中的图片,并在更新窗口中显示这些图片,同时我只会将最后一张照片更新到更新窗口 这是C#中的代码: protectedvoid addphoto\u单击(对象发送者,事件参数e) { if(FileUpload1.HasFile) { 对于(int i=0;i

我习惯于在cookies中上传文件上传商店主题中的图片,并在更新窗口中显示这些图片,同时我只会将最后一张照片更新到更新窗口

这是C#中的代码:

protectedvoid addphoto\u单击(对象发送者,事件参数e)
{
if(FileUpload1.HasFile)
{
对于(int i=0;i
尝试下面的代码。它会起作用的

//This is your .aspx code. The AllowMultiple on FileUpload only works in .NET Framework 4.5+
<form id="form1" runat="server" enctype="multipart/form-data">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:FileUpload ID="FileUpload1" runat="server" AllowMultiple="true" />
                <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
            </ContentTemplate>
            <Triggers>
                <asp:PostBackTrigger ControlID="Button1" />
            </Triggers>
        </asp:UpdatePanel>
    </div>
</form>

//This is your code behind
protected void Button1_Click(object sender, EventArgs e)
{
    if (FileUpload1.HasFiles)
    {
        foreach (var file in FileUpload1.PostedFiles)
        {
            string value = Guid.NewGuid().ToString();
            string extension = new FileInfo(file.FileName).Extension;

            string path = Server.MapPath("~/pimg/" + value + extension);
            string virtualPath = "/pimg/" + value + extension;

            System.Drawing.Image img = System.Drawing.Image.FromStream(file.InputStream);
            img.Save(path);

            if (Request.Cookies["aa"] == null)
            {
                Response.Cookies["aa"].Value = virtualPath;
            }
            else
            {
                Response.Cookies["aa"].Value = Request.Cookies["aa"].Value + "|" + virtualPath;
            }
        }
    }

    if (Request.Cookies["aa"] != null)
    {
        string[] picArray = Convert.ToString(Request.Cookies["aa"].Value).Split('|');
        foreach (var item in picArray)
        {
            Image img = new Image();
            img.ImageUrl = item.ToString();
            img.Height = 150;
            img.Width = 100;
            UpdatePanel1.ContentTemplateContainer.Controls.Add(img);
        }
    }
}
//这是您的.aspx代码。AllowMultiple on FileUpload仅适用于.NET Framework 4.5+
//这是你的密码
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
if(FileUpload1.HasFiles)
{
foreach(FileUpload1.PostedFiles中的var文件)
{
字符串值=Guid.NewGuid().ToString();
字符串扩展名=新文件信息(file.FileName).extension;
字符串路径=Server.MapPath(“~/pimg/”+值+扩展名);
字符串virtualPath=“/pimg/”+值+扩展名;
System.Drawing.Image img=System.Drawing.Image.FromStream(file.InputStream);
img.Save(路径);
if(Request.Cookies[“aa”]==null)
{
响应。Cookies[“aa”]。值=虚拟路径;
}
其他的
{
Response.Cookies[“aa”]。Value=Request.Cookies[“aa”]。Value+“|”+虚拟路径;
}
}
}
if(Request.Cookies[“aa”!=null)
{
string[]picArray=Convert.ToString(Request.Cookies[“aa”].Value).Split(“|”);
foreach(picArray中的var项目)
{
图像img=新图像();
img.ImageUrl=item.ToString();
内模高度=150;
img.宽度=100;
UpdatePanel1.ContentTemplateContainer.Controls.Add(img);
}
}
}
如果对你不起作用,请告诉我

//This is your .aspx code. The AllowMultiple on FileUpload only works in .NET Framework 4.5+
<form id="form1" runat="server" enctype="multipart/form-data">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:FileUpload ID="FileUpload1" runat="server" AllowMultiple="true" />
                <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
            </ContentTemplate>
            <Triggers>
                <asp:PostBackTrigger ControlID="Button1" />
            </Triggers>
        </asp:UpdatePanel>
    </div>
</form>

//This is your code behind
protected void Button1_Click(object sender, EventArgs e)
{
    if (FileUpload1.HasFiles)
    {
        foreach (var file in FileUpload1.PostedFiles)
        {
            string value = Guid.NewGuid().ToString();
            string extension = new FileInfo(file.FileName).Extension;

            string path = Server.MapPath("~/pimg/" + value + extension);
            string virtualPath = "/pimg/" + value + extension;

            System.Drawing.Image img = System.Drawing.Image.FromStream(file.InputStream);
            img.Save(path);

            if (Request.Cookies["aa"] == null)
            {
                Response.Cookies["aa"].Value = virtualPath;
            }
            else
            {
                Response.Cookies["aa"].Value = Request.Cookies["aa"].Value + "|" + virtualPath;
            }
        }
    }

    if (Request.Cookies["aa"] != null)
    {
        string[] picArray = Convert.ToString(Request.Cookies["aa"].Value).Split('|');
        foreach (var item in picArray)
        {
            Image img = new Image();
            img.ImageUrl = item.ToString();
            img.Height = 150;
            img.Width = 100;
            UpdatePanel1.ContentTemplateContainer.Controls.Add(img);
        }
    }
}