asp.net C# b/s 系统 怎么实现文件的上传下载。

asp.net C# b/s 系统 怎么实现文件的上传下载。
可以上传文件类型很多如.rar .txt .doc等等。 由客户端上传到服务器端。并在服务器端根据时间上传人新建文件夹存放文件
FileUpLoad控件 对大文件的上传支持的好像不怎么好吧。 我现在需要上传大文件。并且支持多文件上传。
。 并且 希望能有进度条。界面友好。。

点击上传按钮:
protected void btnupload_Click(object sender, EventArgs e)
{
string file = uploadfile.SaveFile(uploadpic, upleixing,"uploadpic");
if (UpType.ToLower() == "one")
{
Response.Write("<script>parent.document.form1." + htmControl + ".value='" + file + "';</script>");
}
else
{
Response.Write("<script>if(parent.document.form1." + htmControl + ".value==''){parent.document.form1." + htmControl + ".value='" + file + "';}else{parent.document.form1." + htmControl + ".value+='|" + file + "';}</script>");
}
}


uploadfile.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;

/// <summary>
/// uploadfile 的摘要说明
/// </summary>
public class uploadfile
{

public uploadfile()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 判断文件路径是否存在;
/// 返回创建点日期文件夹路径
/// </summary>
/// <returns></returns>
public static string createFolder()
{
string rtpaht = "";
DateTime datenow = DateTime.Now;
string year = datenow.Year.ToString();
string month = datenow.Month.ToString();
string date = datenow.Day.ToString();

if (Directory.Exists(HttpContext.Current.Server.MapPath("~/uploadpic/" + year + "/" + month + "/" + date + "")) == false)
{
Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/uploadpic/" + year + "/" + month + "/" + date + ""));

}
rtpaht = "" + year + "/" + month + "/" + date + "";
return rtpaht;
}
/// <summary>
/// 保存文件,返回带日期文件夹的路径。
/// </summary>
/// <param name="file"></param>
/// <param name="type"></param>
/// <returns></returns>
public static string SaveFile(FileUpload file,string type)
{

return SaveFile(file, type, "uploadpic");

}
/// <summary>
/// 保存文件
/// </summary>
/// <param name="file"></param>
/// <param name="type"></param>
/// <param name="SaveFoder"></param>
/// <returns></returns>
public static string SaveFile(FileUpload file, string type,string SaveFoder)
{
if (type.IndexOf("asp") >= 0 || type.IndexOf("php") >= 0 || type.IndexOf("aspx") >= 0 || type.IndexOf("jsp") >= 0 || type.IndexOf("exe") >= 0)
{
HttpContext.Current.Response.End();
}
string filename = file.PostedFile.FileName;
if (file.HasFile)
{
string savepath1 = createFolder();
string savepath = "";
if (SaveFoder == "")
{
savepath = HttpContext.Current.Server.MapPath("~/"+SaveFoder+"/" + savepath1);
if (Directory.Exists(savepath) == false)
{
Directory.CreateDirectory(savepath);
}
}
else
{
savepath = HttpContext.Current.Server.MapPath("~/" + SaveFoder + "/" + savepath1);
if (Directory.Exists(savepath) == false)
{
Directory.CreateDirectory(savepath);
}
}

string filename2 = DateTime.Now.ToString().Replace("-", "").Replace(":", "").Replace(" ", "") + "." + GetFileExtends(filename, type);

file.SaveAs(savepath + "/" + filename2);

return savepath1 + "/" + filename2;
}
else
{
// HttpContext.Current.Response.Write(CommdClass.ResponseScript("请选择上传的文件!", "-1"));
return "nofile.jpg";
}

}
/// <summary>
///
/// </summary>
/// <param name="filename"></param>
/// <param name="filetype">文件类型(gif,jpg,bmp)</param>
/// <returns></returns>
public static string GetFileExtends(string filename,string filetype)
{

string ext = null;
if (filename.IndexOf('.') > 0)
{
string[] fs = filename.Split('.');
ext = fs[fs.Length - 1];
}

if (filetype.IndexOf(ext.ToLower()) < 0)
{
HttpContext.Current.Response.Write(ext + "<br>" + filetype);
HttpContext.Current.Response.Write(CommdClass.ResponseScript("文件格式错误,只允许上传" + filetype + "格式文件。", "0"));
return"";

}
return ext;

}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-09
FileUploadImage 上传的ASP 控件名

/// <summary>
/// 上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnGO_Click(object sender, EventArgs e)
{
if (FileUploadImage.HasFile) //文件不能为空 否则进不来
{
//文件类型
string type = FileUploadImage.PostedFile.ContentType;

if (type != "jpg" || type != "bmp" || type != "gif")
{
//文件名
string name = FileUploadImage.FileName;

//服务器路径 ico根目录下文件 如果你的 页面不在根目录下就要看了 根下一级 用 ../ico 二级用 ../../ico 同理推
string path = Server.MapPath("ico");

//上传
FileUploadImage.PostedFile.SaveAs(path + "//" + name);

//图片显示
Image1.ImageUrl = "ico/" + name;

}
}
}
第2个回答  2010-07-11
FileUpload 这个控件是上传 FileUpload .saveAs(路径)方法把上传文件传到一个路径中,下载最简单的是直接把url路径连到你那个文件的路径就会直接下载
第3个回答  2010-07-02
第4个回答  2010-07-02
这不是一句话能说完的,汗

asp.net C# b\/s 系统 怎么实现文件的上传下载。
点击上传按钮:protected void btnupload_Click(object sender, EventArgs e){ string file = uploadfile.SaveFile(uploadpic, upleixing,"uploadpic");if (UpType.ToLower() == "one"){ Response.Write("<script>parent.document.form1." + htmControl + ".value='" + file + "';<\/script...

B\/S和C\/S混合架构的文件管理系统设计
(1)文件管理功能。文件管理主要是对文件收发进行相关信息记录,包括收发责任人、文件大小、传输信道、文件格式、时间戳等,所有数据信息统一在数据库服务器备份,以实现统一管理。(2)文件收发功能。利用局域网通信组件能够实现自上而下及自下而上的文件收发、转发管理。同时,对文件信息内容进行按需过滤,建...

C#实现基于互联网的文件上传与下载的系统,需要使用什么技术?高手进...
用ASP.NET开发网站,对提供下载的目录进行列表,允许网站用户删除、重命名、移动、复制、上传(创建)、下载(读取)文件和子目录,也就是说,编写一个资源管理器的Web实现。需要了解IIS发布网站、System.IO命名空间下的文件和目录管理操作。为了网站安全,应该使用身份验证。总之,这时一个很复杂的系统。反...

c# bs系统
1.每台机器上安装网卡,通过网线连接每台机器.2.BS系统没有必要每台机器都安装SQL2005,只用其中一台作为服务器,在服务器上安装SQL2005,其他机器作为客户端,边接到服务器上,可以实现收集和分发数据.

用C#做B\/S结构的开发就是指做网站吗
c#实现B\/S结构方法:可以再后台通过WebClient或者HttpWebRequest来得到其他网页上的数据,然后利用正则或者Html解析获得你要采集的最终信息,然后输出在页面上。首先假设说的“通信那部分程序”是可以实现的话,那么它必定是运行在浏览器端的。运行在web服务器端的代码,例如asp.net代码,是开玩笑、不可能...

.net怎么在aspx附属的C#文件里打开文件对话框啊!申明OpenFileDialog行不...
asp.net是用input file的 或者用fileupload 控件,不过这个是选择客户端文件的 服务端文件直接用System.IO来访问就可以了 OpenFileDialog是选择本地文件的,winform里面的东西 用了也没有效果

我用C#写了一个ftp的上传下载程序是bs架构的请问在web程序使用ftp传输...
1,上传之前,需要安装专业上传软件,并对软件加以学习,用户需要学习上传软件;2,通过分配用户权限发布课件,简单,安全;2,需要建立FTP服务器及配置设置,专业性强;3,支持断点续传,支持大文件上传;3,不支持断点续传,只能重新上传,支持大文件上传;4,上传课件属性(格式,上传时间,人员等)自动生成,方便快捷;4,FTP...

用C#怎么开发BS架构的项目
1. B\/S架构即浏览器服务器架构模式,与C\/S架构是相对应得架构模式。用c#做B\/S开发,典型的就是Asp.Net Web开发。2. Visual Studio 2008\/2013是常用的.Net开发工具,常用MVC的开发模式,M即Mode,模型层,负责处理程序的业务逻辑,V即视图层,是呈现给用户浏览的页面,C即控制层,是连接Mode层与...

用c#开发b\/S项目的步骤
呵呵 我也不是什么高手。现在c#开发主要用VS2008、2010 + dw 来开发! 用网站模式开发,第一步就是 新建网站,自动生成DEFAULT.ASPX 和WEB.CONFIG 配置文件 然后你新建一个APP_CODE的文件夹,把数据库连接类放进去,网上可以找到SQLHELPER.cs之类的, WEB.CONFIG里设置好数据库连接。接下来你就按你...

可以用c#开发B\/S程序吗
当然可以,C#功能挺强大的,可以开发窗体程序(C\/S),也可以开发基于浏览器运行的网站(B\/S),还可以做游戏开发,做windows服务等等。

相似回答