示例一:
public JsonResult Upload(string parameter)
{
var file = Request.Files[];
try
{
//LogHelper.Info("文件长度:" + file.ContentLength.ToString() + "||最大照片:" + 1024 * 1024 * (Config.UploadFileSizeLimitInMB) + "||" + Config.UploadFileSizeLimitInMB);
if (file == null || file.ContentLength == )
{
throw new ValidationException("无上传文件");
}
if (file.ContentLength > * * Convert.ToInt32(uploadFileSize))
{
throw new ValidationException("上传文件过大");
}
#region checkfile
string fType = file.ContentType;//获取图像的类型 bool isimage = fType == "image/bmp" || fType == "image/gif" || fType == "image/pjpeg" || fType == "image/jpeg" || fType == "image/x-png" || fType == "image/png"; if (fType == "application/octet-stream")
{
BinaryReader reader = new BinaryReader(file.InputStream);
string fileClass;
byte buffer;
buffer = reader.ReadByte();
fileClass = buffer.ToString();
buffer = reader.ReadByte();
fileClass += buffer.ToString();
//reader.Close();
if (!(fileClass == "" || fileClass == "" || fileClass == "" || fileClass == ""))
//255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
{
throw new ValidationException("请上传图片格式的文件");
}
else
{
isimage = true;
} file.InputStream.Position = ;
} string fext = Path.GetExtension(file.FileName).ToLower(); //获取文件后缀 bool fextIsImage = fext == ".bmp" || fext == ".gif" || fext == ".png" || fext == ".jpeg" || fext == ".jpe" || fext == ".jpg"; if (!(isimage && fextIsImage))
{
throw new ValidationException("请上传图片格式的文件");
}
#endregion string uploadPath = string.Format("{0}\\{1}", uploadFilePath, SqlTimeHelper.GetTime().ToString("yyyyMMdd"));
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}
var fileId = Guid.NewGuid(); System.Drawing.Image sImage = System.Drawing.Image.FromStream(file.InputStream);
int tw = sImage.Width - ;
int th = sImage.Height - ;
WatermarkHelper.AddWartermark(sImage); ImagesHelper.DrawImage(sImage, string.Format("{0}\\{1}{2}", uploadPath, fileId, fext), tw, ); ////原始图片的宽度和高度
//System.Drawing.Bitmap objPic, objNewPic; //图像对象
//objPic = new System.Drawing.Bitmap(sImage);
//objNewPic = new System.Drawing.Bitmap(objPic, tw, th); //使用指定的大小初始化objNewPic
//objNewPic.Save(string.Format("{0}\\{1}{2}", uploadPath, fileId, fext));
//objPic.Dispose();
//objNewPic.Dispose();
sImage.Dispose(); //释放资源 var rtnJson = Resource.SaveFile(file.FileName, fileId, fext); //下面这句代码缺少的话,上传成功后上传队列的显示不会自动消失
return Json(new ApiSuccessResponse<FileUploadModel>(rtnJson));
}
catch (ValidationException ve)
{
return Json(new ApiInvalidParaExceptionResponse(ve.Message));
}
catch (Exception ue)
{
return Json(new ApiExceptionResponse<string>(ue));
}
}
示例二:
public bool SaveStringToFile(string token, string fileName, string content)
{
try
{
string fext = Path.GetExtension(fileName).ToLower(); //获取文件后缀
bool fextIsImage = fext == ".bmp" || fext == ".gif" || fext == ".png" || fext == ".jpeg" || fext == ".jpe" || fext == ".jpg"; byte[] filecontent = System.Convert.FromBase64String(content);
string path = System.Configuration.ConfigurationSettings.AppSettings["UploadFilePath"];
BinaryReader reader = new BinaryReader(new MemoryStream(filecontent));
string fileClass;
byte buffer;
buffer = reader.ReadByte();
fileClass = buffer.ToString();
buffer = reader.ReadByte();
fileClass += buffer.ToString();
reader.Close();
bool isimage = false;
if (!(fileClass == "" || fileClass == "" || fileClass == "" || fileClass == ""))
//255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
{
return false;
}
else
{
isimage = true;
} if (!(isimage && fextIsImage))
{
return false;
}
path = Path.Combine(path, fileName);
FileInfo info = new FileInfo(path);
if (!Directory.Exists(info.DirectoryName))
Directory.CreateDirectory(info.DirectoryName);
if (System.IO.File.Exists(path)) System.IO.File.Delete(path);
System.IO.FileStream outfile = System.IO.File.OpenWrite(path);
outfile.Write(filecontent, , filecontent.Length);
outfile.Close();
return true;
}
catch
{
return false;
}
}