zoukankan
html css js c++ java
图片上传/下载,DOC.xls文档下载的方法
上传:
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)
{
if
(fileType
==
"
application/msword
"
||
fileType
==
"
application/vnd.ms-excel
"
)
{
//
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());
while
(
true
)
{
//
开辟缓冲区空间
byte
[] buffer
=
new
byte
[
1024
];
//
读取文件的数据
int
leng
=
r.Read(buffer,
0
,
1024
);
if
(leng
==
0
)
//
到文件尾,结束
break
;
if
(leng
==
1024
)
//
读出的文件数据长度等于缓冲区长度,直接将缓冲区数据写入
Response.BinaryWrite(buffer);
else
{
//
读出文件数据比缓冲区小,重新定义缓冲区大小,只用于读取文件的最后一个数据块
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)
{
Response.AppendHeader(
"
Content-Disposition
"
,
"
attachment; filename=
"
+
fileName);
}
else
{
Response.AppendHeader(
"
Content-Disposition
"
,
"
filename=
"
+
fileName);
}
using
(System.Drawing.Image image
=
System.Drawing.Image.FromFile(MapPath(picDic
+
fileName)))
{
if
(image.RawFormat.Equals(ImageFormat.Bmp))
{
Response.ContentType
=
"
image/bmp
"
;
}
else
{
if
(image.RawFormat.Equals(ImageFormat.Gif))
{
Response.ContentType
=
"
image/gif
"
;
}
else
{
if
(image.RawFormat.Equals(ImageFormat.Jpeg))
{
Response.ContentType
=
"
image/jpeg
"
;
}
else
{
if
(image.RawFormat.Equals(ImageFormat.Png))
{
Response.ContentType
=
"
image/png
"
;
}
else
{
Response.ContentType
=
"
application/octet-stream
"
;
}
}
}
image.Save(Response.OutputStream, image.RawFormat);
}
}
}
查看全文
相关阅读:
[转]深度理解依赖注入(Dependence Injection)
[转]控制反转(IOC)和依赖注入(DI)
[转]依赖注入的概念
[转]struct实例字段的内存布局(Layout)和大小(Size)
异步编程模式
HTTP协议返回代码含义
[转]StructLayout特性
Stack的三种含义
FineUI登入的例子中遇到的一些问题
编程以外积累: 如何给项目生成类似VS2008的说明文档
原文地址:https://www.cnblogs.com/weichuo/p/1206620.html
最新文章
jsp声明
web虚拟路径
软件工程可行性研究
java和internet
RUP XP 以及敏捷过程
对象的创建和生命周期
ios 开发指南
KVC 与 KVO
iOS中如何呼出另一个应用
iOS 倒计时
热门文章
imageNamed 与 imageWithContentsOfFile的区别
iOS6与iOS7屏幕适配技巧
自定义UITextField(UITextField重写)
iOS 视图跳转
UIView添加事件
iOS 数组里面取字典的值
iOS中的retainCount
IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统)
HTTP POST GET 区别
asp.net web api 开发时应当注意的事项
Copyright © 2011-2022 走看看