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);
}
}
}
查看全文
相关阅读:
eclipse导入基于maven的java项目后没有Java标志和没有maven Dependencies有解决办法
centOS6.5 安装后无法启动无线上网
centOS6.5 关闭关盖待机
centOS6.5 usr/src/kernels下为空
python求两个列表的并集.交集.差集
二叉树遍历
python实现单链表的反转
关系型数据库和非关系型数据库的区别和特点
python 实现快速排序(面试经常问到)
golang 切片和map查询比较
原文地址:https://www.cnblogs.com/weichuo/p/1206620.html
最新文章
C++之继承与多态
C++之模板编程
C++之C/C++内存对齐
C++之 extern C的作用详解
Memcache的安装和使用
Memcache CAS协议介绍及使用
Memcache 分布式高可用集群介绍
Memcache介绍与应用场景
Memcache 服务管理脚本
CentOS7无法使用tab补全功能??
热门文章
分布式服务框架 Zookeeper -- 管理分布式环境中的数据
Zabbix通过percona监控MySQL
Logrotate还有谁记得它??
Installing Percona XtraDB Cluster on CentOS
Linux find 用法示例
Linux unzip用法
oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务
Oracle中trunc函数、round 函数、ceil函数和floor函数的使用
eclipse Java项目如何修改包名
获取jar包当前的路径
Copyright © 2011-2022 走看看