VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1046|回复: 8

关于ASP.Net上传与下载文件的问题

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-2-1 09:00:01 | 显示全部楼层 |阅读模式
我的客户说在服务器上上传和下载文件太麻烦,要求简化,他想这样

上传:
    实现像FileUpload那样点击“浏览”出现文件选择窗口,但可以按住Ctrl键选择多个附件上传,不知道有没有办法实现,类似的操作也行,或者有第三方控件也行

下载:
    我是把所有的附件都放在一个GridView里的,里面只有一列文件名,DataNavigateUrlFields属性设置成附件的路径,本来运行程序时点击GridView任一行就连接到这个文件提示下载,用户想在GridView下面加个“下载全部附件”的Button,当点击的时候出现一棵目录树,他选择文件夹点击确定后GridView里所有附件都下载到这个文件夹里。

高手们多帮忙了
回复

使用道具 举报

0

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-3-16 17:45:01 | 显示全部楼层
1:

可以允许上传一个压缩文件 在服务器端解压
否则只能做一个ActiveX控件了

2:你描述有问题吧
   是把选择的文件夹的所有东西都下载到本地 还是把文件下载到选择的文件夹

后者很难用别的控件实现
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-3-17 00:45:02 | 显示全部楼层
这个控件还不错.可以去看看

http://www.ntko.com
   NTKO 附件管理控件3.0一经推出,即以创新的体系结构,和灵活强大的编程接口,获得广大开发合作伙伴好评。并已拥有包括Domino,ASP,ASP.NET等各个平台的数十个成功案例.在此向给予我们宝贵建议和意见的合作伙伴表示忠心的感谢!
   使用NTKO附件管理控件[多文件上传控件],能够在浏览器中启动原始文件对应的应用程序,对图像文件,OFFICE文件,AUTOCAD文件,文本文件等任何文件进行编辑,打印,阅读,并保存到Web服务器。支持拖放,修改提示保存,多线程下载上传,多种视图模式,智能提交等特性。支持包括DOMINO在内的各种后台Web服务器和编程语言。

回复

使用道具 举报

0

主题

29

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-3-17 02:00:01 | 显示全部楼层
可以循环上传
回复

使用道具 举报

0

主题

29

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-3-17 13:45:01 | 显示全部楼层
<HTML>
<HEAD>
<script>
function AddAttachments()
{document.getElementById('attach').innerText = "继续添加附件";
tb = document.getElementById('attAchments');                                    newRow = tb.insertRow();
newRow.insertCell().innerHTML = "<input name='File' size='50' type='file'>&nbsp;&nbsp;
<input type=button value='删除' onclick='delFile(this.parentElement.parentElement.rowIndex)'>";
}
function delFile(index)
{ document.getElementById('attAchments').deleteRow(index);                  tb.rows.length > 0?document.getElementById('attach').innerText = "继续添加附件":document.getElementById('attach').innerText = "添加附件";}            </script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="form1" method="post" runat="server" enctype="multipart/form-data">
<div><table id="attAchments">
</table></div>
<span>
<IMG src="icoAddFl.gif"> </span>
<A id="attach" style="font-family:宋体;font-size:9pt;" title="如果您要发送多个附件,您只需多次点击“继续添加附件”即可, 要注意附件总量不能超过发送限制的大小。" onclick="AddAttachments();" href="javascript:;" name="attach">添加附件</A>
<br><br><br><br><br><br>
<asp:Button id="btnSend" runat="server" Text=" 上传 "></asp:Button>            </form>
</body>
</HTML>
回复

使用道具 举报

0

主题

29

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-3-17 16:45:01 | 显示全部楼层
private void btnSend_Click(object sender, System.EventArgs e)
{
StringBuilder sb = new StringBuilder();
int attCount = 0;
string filePath = "";
for(int i=0; i< Request.Files.Count; i++)
{
if(Request.Files[i].ContentLength > 0)
{
filePath = Request.Files[i].FileName;
sb.Append("Files" + attCount++ + ": " + filePath + "<br>");                        Request.Files[0].SaveAs(Server.MapPath("./") + filePath.Substring(filePath.LastIndexOf("file://")+1/));
}
}
sb.Insert(0, "you upload " + attCount + " files.<br>");
Response.Write(sb.ToString());
}
回复

使用道具 举报

0

主题

31

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-3-18 08:30:01 | 显示全部楼层
楼主说的这个没做过,但做过类似于EMAIL一次上传多个附件的,就是多次调用fileupload,下载应该也可以,你可能循环他选中的文件,用webhttprequest去请求拼成的下载地址,取response.getstream(),看看流里是不是你要的文件,写在硬盘就可以了,
我没这样做过,你试试,感觉可以
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-6 09:45:01 | 显示全部楼层
楼主用Uploadify 这个插件满足你的所有需要 有什么问题可以问我。研究这个组建有一段时间了 这个插件最不完美的就是无法上传图片预览 这是由于flash的机制导致 现在flash palyer10+以上版本可以实现预览 我在上传这块打滚好长时间了- - 还得开发一个上传图片的纯flash上传组建- -
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-6 10:00:01 | 显示全部楼层
我们都是用swfupload这个插件实现的文件上传,可以实现上传文件大小设置,上传文件数量限制等等。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表