上传:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
#region 上传文件
protected string UpPicFile(System.Web.UI.WebControls.FileUpload FileUpControl, ref string fileType)
{
if (FileUpControl.HasFile)
{
string strErr = "";
#region 验证
if (FileUpControl.PostedFile == null)
{
strErr += "对不起,上传文件不能为空!\\n";
}
int size = FileUpControl.PostedFile.ContentLength;//大小
if (size < 1)
{
strErr += "对不起,上传文件不能为空!\\n";
}
if (size > 10485760)
{
strErr += "对不起,文件大小不能大于10M!\\n";
}
if (strErr != "")
{
QDHotel.Common.MessageBox.Show(this, strErr);
return null;
}
#endregion
string UploadFileType = FileUpControl.PostedFile.ContentType;
string UpFileName = FileUpControl.FileName;
string picname = DateTime.Now.ToString("yyyyMMddHHmmss") + UpFileName;
fileType = UploadFileType;
#region 不同类型UploadFileType
switch (UploadFileType)
{
case "image/gif":
case "image/bmp":
case "image/pjpeg":
{
Stream StreamObject = FileUpControl.PostedFile.InputStream;//建立数据流对像
System.Drawing.Image myImage = System.Drawing.Image.FromStream(StreamObject);
int w = myImage.Width;
int h = myImage.Height;
}
break;
case "application/msword":
case "application/vnd.ms-excel":
break;
default:
strErr += "对不起,不允许该文件格式上传!\\n";
break;
}
#endregion
if (strErr != "")
{
QDHotel.Common.MessageBox.Show(this, strErr);
return null;
}
try
{
string path = ADUploadFolder + picname;
path = Server.MapPath(path);
FileUpControl.PostedFile.SaveAs(path);
return picname;
}
catch //(Exception ex)
{
return null;
}
}
else
{
return null;
}
}
#endregion
下载
private void ViewImage(string fileType, string fileName, bool forceDownload)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
if (fileType == "application/msword" || fileType == "application/vnd.ms-excel")
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
//Response.Redirect("UploadPic/" + fileName);
//return;
System.IO.FileStream r = new System.IO.FileStream(Server.MapPath("UploadPic/" + fileName), System.IO.FileMode.Open);
//设置基本信息
Response.Buffer = false;
Response.AddHeader("Connection", "Keep-Alive");
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.IO.Path.GetFileName(Server.MapPath("UploadPic/" + fileName)));
Response.AddHeader("Content-Length", r.Length.ToString());
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
while (true)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
//开辟缓冲区空间
byte[] buffer = new byte[1024];
//读取文件的数据
int leng = r.Read(buffer, 0, 1024);
if (leng == 0)//到文件尾,结束
break;
if (leng == 1024)//读出的文件数据长度等于缓冲区长度,直接将缓冲区数据写入
Response.BinaryWrite(buffer);
else
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
//读出文件数据比缓冲区小,重新定义缓冲区大小,只用于读取文件的最后一个数据块
byte[] b = new byte[leng];
for (int i = 0; i < leng; i++)
b[i] = buffer[i];
Response.BinaryWrite(b);
}
}
r.Close();//关闭下载文件
Response.End();//结束文件下载
}
Response.Clear();
if (forceDownload)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName);
}
else
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
Response.AppendHeader("Content-Disposition", "filename=" + fileName);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
using (System.Drawing.Image image = System.Drawing.Image.FromFile(MapPath(picDic + fileName)))
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (image.RawFormat.Equals(ImageFormat.Bmp))
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
Response.ContentType = "image/bmp";
}
else
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (image.RawFormat.Equals(ImageFormat.Gif))
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
Response.ContentType = "image/gif";
}
else
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (image.RawFormat.Equals(ImageFormat.Jpeg))
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
Response.ContentType = "image/jpeg";
}
else
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (image.RawFormat.Equals(ImageFormat.Png))
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
Response.ContentType = "image/png";
}
else
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
Response.ContentType = "application/octet-stream";
}
}
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
image.Save(Response.OutputStream, image.RawFormat);
}
}
}