asp.net写上传文件夹

需求:在vs2005中,用c#,作一个在网页中将某个文件夹中的文件全部上传到服务器上。回答的朋友请注意:1、要求不能在网页中静态的放置fileupload控件,因为文件夹... 需求:在vs2005中,用c#,作一个在网页中将某个文件夹中的文件全部上传到服务器上。
回答的朋友请注意:
1、要求不能在网页中静态的放置fileupload控件,因为文件夹中的文件数量不定,无法一个个先放好。
2、不能压缩后上传到服务器再解压。
展开
 我来答
匿名用户
2013-09-11
展开全部
ASP.net 上传整个文件夹 代码部分
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebPortal
{
//<summary>
//UpLoad 的摘要说明。
//实现多文件上传
//</summary>
public class Upload : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button UploadButton;
protected System.Web.UI.WebControls.Label strStatus;
private void Page_Load(object sender, System.EventArgs e)
{
//在此处放置用户代码以初始化页面
if (this.IsPostBack) this.SaveImages();}
private Boolean SaveImages()
{//'遍历File表单元素
HttpFileCollection files=HttpContext.Current.Request.Files;
//'状态信息
System.Text.StringBuilder strMsg=new System.Text.StringBuilder();
strMsg.Append("上传的文件分别是:<hr color=red>");
try{
for(int iFile=0; iFile < files.Count; iFile++)
{//'检查文件扩展名字
HttpPostedFile postedFile=files[iFile];
string fileName, fileExtension;
fileName=System.IO.Path.GetFileName(postedFile.FileName);
if (fileName != "") {
fileExtension=System.IO.Path.GetExtension(fileName);
strMsg.Append("上传的文件类型:"+postedFile.ContentType.ToString()+"<br>");
strMsg.Append("客户端文件地址:"+postedFile.FileName+"<br>");
strMsg.Append("上传文件的文件名:"+fileName+"<br>");
strMsg.Append("上传文件的扩展名:"+fileExtension+"<br><hr>");
//'可根据扩展名字的不同保存到不同的文件夹
//注意:可能要修改你的文件夹的匿名写入权限。
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/")+fileName);}}
strStatus.Text=strMsg.ToString();
return true;}
catch(System.Exception Ex){
strStatus.Text=Ex.Message;
return false;}}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{//CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
InitializeComponent();
base.OnInit(e);}
//<summary>
//</summary>
private void InitializeComponent()
{this.ID="Upload"; <br/>this.Load+=new System.EventHandler(this.Page_Load);}
#endregion}}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-11
展开全部
我发现你很喜欢在这里找人要代码,虽然不知道你具体是干什么的?但是你这样永远学不到东西.那还何必问这些无谓的呢.要实现你上面的文件上传功能你就慢慢等一个和你做一样事情的人给你代码吧.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-11
展开全部
建议你用ActiveX控件实现,因为需要读取客户机的文件夹内容,一般的Web代码没有这样的特权。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邴槐夕煊
2020-01-20 · TA获得超过3754个赞
知道大有可为答主
回答量:3041
采纳率:31%
帮助的人:226万
展开全部
一种解决办法:前台脚本使用Shell.Application对象(这个本地权限要求有点高),获取某个文件夹的文件清单,以参数的形式传递给后台处理程序进行上传。要实现正常使用,需要浏览器添加信任站点,并启用Actiove的部分选项。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式