ASP.NET 上传文件到服务器
2012-01-05 09:57
357 查看
string SysURL = Server.MapPath("../DCO_PIC");
File_Model fm = FileUp(this.FileUpload6, SysURL, "Pic"); // 1.FileUpload控件 2.上传目录地址 3.上传文件类型
#region 上传文件方法
public static File_Model FileUp(FileUpload fileUp, string SysURL,string type)
{
File_Model fm = new File_Model();
if (fileUp.PostedFile.FileName == "")
{
return fm;
}
// /获取文件信息
string FileName = fileUp.PostedFile.FileName;
string picExten = System.IO.Path.GetExtension(FileName);
if (type == "Pic")
{
if (picExten != ".png" && picExten != ".jpg" && picExten != ".gif" && picExten != ".bmp")
{
return fm;
}
}
else if (type == "Video")
{
if (picExten != ".avi" && picExten != ".RM" && picExten != ".RMVB" && picExten != ".AVI" && picExten != ".WMV" && picExten != ".MPG "
&& picExten != ".MPEG" && picExten != ".3GP" && picExten != ".MP4 " && picExten != ".SWF")
{
return fm;
}
}
string file_str = "文件名称:" + FileName + "<br>";
file_str = "文件类型:" + fileUp.PostedFile.ContentType + "<br>";
file_str = "文件长度:" + fileUp.PostedFile.ContentLength.ToString() + "KB<br>";
DirectoryInfo upDir = new DirectoryInfo(SysURL);
if (!upDir.Exists)
{
upDir.Create();
}
//上传文件到服务器
FileName = FileName.Substring(FileName.LastIndexOf("\\") + 1);// 取出文件名的路径(不包括文件的名称)
string endFileName = DateTime.Now.ToString("yyyyMMddHHmm") + "_" + FileName;
string upload_file = SysURL + "/" + endFileName;
//取出服务器虚拟路径,存储上传文件
fileUp.PostedFile.SaveAs(upload_file);//开始上传文件
string updateTime = DateTime.Now.ToString();
fm.FileUrl = endFileName;
return fm;
}
#endregion
//文件实体类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace FileModel
{
public class File_Model
{
/// <summary>
/// FileID
/// </summary>
private Guid _FileID;
public Guid FileID
{
set { _FileID = value; }
get { return _FileID; }
}
/// <summary>
/// FileName
/// </summary>
private string _FileName;
public string FileName
{
set { _FileName = value; }
get { return _FileName; }
}
/// <summary>
/// FileName
/// </summary>
private DateTime _UpTime;
public DateTime UpTime
{
set { _UpTime = value; }
get { return _UpTime; }
}
/// <summary>
/// FileUrl
/// </summary>
private string _FileUrl;
public string FileUrl
{
set { _FileUrl = value; }
get { return _FileUrl; }
}
}
}
File_Model fm = FileUp(this.FileUpload6, SysURL, "Pic"); // 1.FileUpload控件 2.上传目录地址 3.上传文件类型
#region 上传文件方法
public static File_Model FileUp(FileUpload fileUp, string SysURL,string type)
{
File_Model fm = new File_Model();
if (fileUp.PostedFile.FileName == "")
{
return fm;
}
// /获取文件信息
string FileName = fileUp.PostedFile.FileName;
string picExten = System.IO.Path.GetExtension(FileName);
if (type == "Pic")
{
if (picExten != ".png" && picExten != ".jpg" && picExten != ".gif" && picExten != ".bmp")
{
return fm;
}
}
else if (type == "Video")
{
if (picExten != ".avi" && picExten != ".RM" && picExten != ".RMVB" && picExten != ".AVI" && picExten != ".WMV" && picExten != ".MPG "
&& picExten != ".MPEG" && picExten != ".3GP" && picExten != ".MP4 " && picExten != ".SWF")
{
return fm;
}
}
string file_str = "文件名称:" + FileName + "<br>";
file_str = "文件类型:" + fileUp.PostedFile.ContentType + "<br>";
file_str = "文件长度:" + fileUp.PostedFile.ContentLength.ToString() + "KB<br>";
DirectoryInfo upDir = new DirectoryInfo(SysURL);
if (!upDir.Exists)
{
upDir.Create();
}
//上传文件到服务器
FileName = FileName.Substring(FileName.LastIndexOf("\\") + 1);// 取出文件名的路径(不包括文件的名称)
string endFileName = DateTime.Now.ToString("yyyyMMddHHmm") + "_" + FileName;
string upload_file = SysURL + "/" + endFileName;
//取出服务器虚拟路径,存储上传文件
fileUp.PostedFile.SaveAs(upload_file);//开始上传文件
string updateTime = DateTime.Now.ToString();
fm.FileUrl = endFileName;
return fm;
}
#endregion
//文件实体类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace FileModel
{
public class File_Model
{
/// <summary>
/// FileID
/// </summary>
private Guid _FileID;
public Guid FileID
{
set { _FileID = value; }
get { return _FileID; }
}
/// <summary>
/// FileName
/// </summary>
private string _FileName;
public string FileName
{
set { _FileName = value; }
get { return _FileName; }
}
/// <summary>
/// FileName
/// </summary>
private DateTime _UpTime;
public DateTime UpTime
{
set { _UpTime = value; }
get { return _UpTime; }
}
/// <summary>
/// FileUrl
/// </summary>
private string _FileUrl;
public string FileUrl
{
set { _FileUrl = value; }
get { return _FileUrl; }
}
}
}
相关文章推荐
- Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)
- asp.net使用FtpWebRequest向ftp上传文件报错 基础连接已经关闭: 服务器提交了协议冲突
- asp.net不使用服务器控件上传文件时的无意问题
- asp.net 甚至上传文件大小或者服务器设置上传文件大小
- asp.net中有关文件HTTP上传服务器保存的问题(捷易拍sdk开发方面)
- 使用WinInet向 ASP.Net Web服务器 多线程上传文件
- FileUpload 服务器控件示例,Asp.net上传文件,找不到上传文件的控件问题,(转)
- [Asp.net]通过uploadify将文件上传到B服务器的共享文件夹中
- 使用ASP.NET上传多个文件到服务器
- Android与Asp.Net Web服务器的文件上传下载BUG汇总[更新]
- asp.net(c#)使用HttpWebRequest附加携带请求参数以post方式模拟上传大文件(以图片为例)到Web服务器端
- asp.net mvc中读取input file上传的txt文件内容,但不需要把文件保存到服务器上
- asp.net支持多文件上传的服务器控件
- ASP.NET 中将文件上传到另外一个服务器的方法二
- 使用ASP.NET上传多个文件到服务器
- 利用ASP.NET向服务器上传文件
- 也谈使用ASP.NET上传Word文件至服务器,并转成HTML。
- ASP.NET(C#)FileUpload实现上传限定类型和大小的文件到服务器
- [Asp.net]通过uploadify将文件上传到B服务器的共享文件夹中
- ASP.Net文件上传研究开篇之—— 不使用服务器控件的文件上传