protected string AllowExt = "7z|aiff|asf|avi|bmp|csv|doc|docx|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3 |mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pptx|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz |tif|tiff|txt|vsd|wav|wma|wmv|xls|xlsx|xml|zip";//Supported file formats
int FileMaxSize = 10240;//File size, unit is Kpublicvoid ProcessRequest(HttpContext context )
{
context.Response.ContentType = "text/plain";
string ParentID = context.Request.Params["id"];
HttpPostedFile fileUpload = context.Request.Files[0 ];
if (fileUpload != null)
{
try
{
string UploadDir = "~/upload/";//The folder where the picture is saved
//Picture Saved folder path
string path = context.Server.MapPath(UploadDir);
//A folder for pictures uploaded every day
string folder = DateTime.Now.ToString("yyyyMM");
//If the folder does not exist, create it
if (!Directory.Exists(path folder))
{
Directory.CreateDirectory(path folder);
}
// Extension of the uploaded image
string fileExtension = fileUpload.FileName.Substring(fileUpload.FileName.LastIndexOf('.'));
//Judge the file format
if (!CheckValidExt(fileExtension))
{
context.Response.Write("Error message: The file format is incorrect! " fileExtension);
return;
}
//Determine file size
if (fileUpload.ContentLength > FileMaxSize * 1024)
{
context.Response.Write("Error Tip: The uploaded file (" fileUpload.FileName ") exceeds the maximum limit: " FileMaxSize "KB");
return;
}
//The file name of the saved image
//string saveName = Guid.NewGuid().ToString() fileExtension;
//Rename the file using a random time number
string strDateTime = DateTime.Now.ToString("yyMMddhhmmssfff");//Get the time string
Random ran = new Random();
string strRan = Convert.ToString(ran.Next(100, 999));//Generate three-digit random number
string saveName = strDateTime strRan fileExtension;
Model.Album uc = new Model.Album();
uc.Title = fileUpload.FileName;
uc.ImagePath = folder "/" saveName;
uc.PostTime = DateTime.Now;
uc.Pid = int.Parse(id);
bll.Album alb = new bll.Album();
alb.add(uc);
//Save the picture
fileUpload.SaveAs(path folder " /" saveName);
context.Response.Write(UploadDir folder "/" saveName);
}
catch
{
context.Response.Write("Error message: Upload failed" );
}
}
}
public bool IsReusable
{
get
{
return false;
}
}
# region Check the validity of the extension bool CheckValidExt(string sExt)
///
/// Check the validity of the extension
/// / //
File name extension
///
If the extension is valid, return true, otherwise return false. public bool CheckValidExt(string strExt)
{
bool flag = false;
string[] arrExt = AllowExt.Split('|');
foreach (string filetype in arrExt)
{
if (filetype.ToLower() == strExt.ToLower().Replace(".", ""))
{
flag = true;
break;
}
}
return flag;
}
#endregion
3.1 version update: PostData is removed and changed to formData. Json data. Other changes are under investigation.
Upload files to generate thumbnails and display them on the web page.