using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.HtmlControls;
using System.Drawing.Imaging;
using System.Configuration;
using System.Drawing;
namespace zhuanti
{
/// <summary>
/// 这是一个用于玩家投稿中实现玩家上传文件功能中用到的相应的函数的功能模块
/// </summary>
public class FileUpload
{
public enum File //定义一个人用于存放玩家上传文件信息的一个数组
{
FILE_SIZE, //大小
FILE_POSTNAME, //类型(文件后缀名)
FILE_SYSNAME, //系统名
FILE_ORGINNAME, //原来的名字
FILE_PATH //文件路径
}
private static Random rnd = new Random(); //获取一个随机数
public static string[] UploadFile(HtmlInputFile file, string Upload_Dir) //实现玩家文件上传功能的主函数
{
DeleteHtmlFile();
string FileOrginName = file.PostedFile.FileName.Substring
(file.PostedFile.FileName.LastIndexOf("//") + 1);//获取文件的原始名
if (file.PostedFile.ContentLength <= 0)
{ return null; }
string postFileName;
string FilePath = Upload_Dir.ToString();
string path = FilePath + "//";
try
{
int pos = file.PostedFile.FileName.LastIndexOf(".") + 1;
postFileName = file.PostedFile.FileName.Substring(pos, file.PostedFile.FileName.Length - pos);
file.PostedFile.SaveAs(path + FileName + "." + postFileName); //存储指定的文件到指定的目录
}
catch (Exception exec)
{
throw (exec);
}
double unit = 1024;
double size = Math.Round(file.PostedFile.ContentLength / unit, 2);
arr[(int)File.FILE_SIZE] = size.ToString(); //文件大小
arr[(int)File.FILE_POSTNAME] = postFileName; //文件类型(文件后缀名)
arr[(int)File.FILE_SYSNAME] = FileName; //文件系统名
arr[(int)File.FILE_ORGINNAME] = FileOrginName; //文件原来的名字
arr[(int)File.FILE_PATH] = path + FileName + "." + postFileName; //文件路径
return arr;
}
public void DeleteHtmlFile()
{
//删除你原来广告的东西
FileName = HttpContext.Current.Server.MapPath(fileName);
FileInfo fileInfo = new FileInfo(fileName);
// 如果文档存在,则删除文档
if (fileInfo.Exists)
fileInfo.Delete();
}
private string FileName = "你原来广告的图片等路径及完整文件名";
}
}