C# 上载多个图像并显示它们
我习惯于在cookies中上传文件上传商店主题中的图片,并在更新窗口中显示这些图片,同时我只会将最后一张照片更新到更新窗口 这是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
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);
}
}
}