如何将页面上的图片批量下载

zzc_king 2011-12-12 01:10:32
如题,在页面上有很多图片列表,每个图片下面有CheckBox 怎么实现选中的图片批量下载,页面中有个“下载所选图片”按钮 求解。。。
...全文
238 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzc_king 2011-12-12
  • 打赏
  • 举报
回复
==啊
zzc_king 2011-12-12
  • 打赏
  • 举报
回复
嗯 是的。
Repeater显示的 没弄出来。。。
bjguanzhanrui 2011-12-12
  • 打赏
  • 举报
回复
14楼的说的很正确
小伙写代码 2011-12-12
  • 打赏
  • 举报
回复
头部需要命名空间

using DotNetZip = Ionic.Zip;

代码部分
using (ZipFile zip = new ZipFile(System.Text.Encoding.Default))//解决中文乱码问题

换成
using (DotNetZip.ZipFile zip=new DotNetZip.ZipFile(System.Text.Encoding.Default)) //解决中文乱码问题

其他不变 我刚才试过了
小伙写代码 2011-12-12
  • 打赏
  • 举报
回复
Ionic.Zip.dll

这个DLL
小伙写代码 2011-12-12
  • 打赏
  • 举报
回复
你装的哪个DLL

http://dotnetzip.codeplex.com/

这里下载

zip-v1.9 里面的DLL 引用一下 其他基本就不用变的
zzc_king 2011-12-12
  • 打赏
  • 举报
回复
这些我都试过了

对路径“c:\windows\system32\inetsrv\rmrswydg.kud”的访问被拒绝。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.UnauthorizedAccessException: 对路径“c:\windows\system32\inetsrv\rmrswydg.kud”的访问被拒绝。

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。

要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

源错误:


行 199: System.IO.Path.Combine(TempFileFolder, System.IO.Path.GetRandomFileName())
行 200: : System.IO.Path.GetRandomFileName();
行 201: _writestream = new System.IO.FileStream(_temporaryFileName, System.IO.FileMode.CreateNew);
行 202: }
行 203: return _writestream;


源文件: C:\Users\Administrator\Desktop\DotNetZip(1)\DotNetZip\Library\ZipFile.cs 行: 201



最后是这个错误
小伙写代码 2011-12-12
  • 打赏
  • 举报
回复
string换成 System.Text.Encoding.Default.ToString()?
zzc_king 2011-12-12
  • 打赏
  • 举报
回复
编译器错误消息: CS1502: 与“Ionic.Utils.Zip.ZipFile.ZipFile(string)”最匹配的重载方法具有一些无效参数
小伙写代码 2011-12-12
  • 打赏
  • 举报
回复
下载个DotNetZip 组件咯
zzc_king 2011-12-12
  • 打赏
  • 举报
回复
这行吗 我怎么报错啊
小伙写代码 2011-12-12
  • 打赏
  • 举报
回复
ASPX页面的代码:


<p>
<asp:Button ID="PackDown" runat="server" Text="打包下载" OnClick="PackDown_Click" /></p>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="500px"
CellPadding="8" CellSpacing="1">
<Columns>
<asp:TemplateField HeaderText="<input type="checkbox"/>" InsertVisible="False">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="文件列表" InsertVisible="False">
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>


CS代码

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindFilesList();
}
}

void BindFilesList()
{
List<System.IO.FileInfo> lstFI = new List<System.IO.FileInfo>();
string[] files = System.IO.Directory.GetFiles("d:\\webroot");
foreach (var s in files)
{
lstFI.Add(new System.IO.FileInfo(s));
}

GridView1.DataSource = lstFI;
GridView1.DataBind();
}

protected void PackDown_Click(object sender, EventArgs e)
{
Response.Clear();
Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "filename=DotNetZip.zip");
using (ZipFile zip = new ZipFile(System.Text.Encoding.Default))//解决中文乱码问题
{
foreach (GridViewRow gvr in GridView1.Rows)
{
if (((CheckBox)gvr.Cells[0].Controls[1]).Checked)
{
zip.AddFile("d:\\webroot\\" + (gvr.Cells[1].Controls[1] as Label).Text, "");
}
}

zip.Save(Response.OutputStream);
}

Response.End();
}
肖无疾 2011-12-12
  • 打赏
  • 举报
回复
仅通过IE实现仅弹出一次保存对话框
好像只能是将所选文件打包后下载
要不只能借助迅雷,快车,旋风那种下载
zzc_king 2011-12-12
  • 打赏
  • 举报
回复
关键是 如何实现呢。。
小伙写代码 2011-12-12
  • 打赏
  • 举报
回复
打包,下载
chen_ya_ping 2011-12-12
  • 打赏
  • 举报
回复
checkbox中写个click事件,然后点击赋值地址到img的src

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧