<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="jquery.form.js" type="text/javascript"></script>
<style type="text/css">
#upload
{
height: 25px;
}
#upload input
{
float: left;
margin: 0 20px 0 0;
}
#upload img
{
width: 25px;
height: 25px;
float: left;
}
#preview
{
width: 300px;
margin: 10px 0 0 0;
}
#preview img
{
width: 150px;
height: 150px;
}
</style>
<script type="text/javascript">
$(function () {
var wait = $("<img src=\"images/loading.gif\" alt=\"正在上传\"/>");
$("#uploadImage").change(function () {
var isIE = /msie/i.test(navigator.userAgent) && !window.opera; //检测是否为IE
var fileSize = 0;
var filePath = this.value;
//是IE并且检测不到有文件
if (isIE && !this.files) {
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
var file = fileSystem.GetFile(filePath);
fileSize = file.Size;
} else {
fileSize = this.files[0].size;
}
var type = filePath.toString().substring(filePath.lastIndexOf('.')).toLocaleLowerCase();
if (type != ".jpg" && type != ".jpeg" && type != ".gif" && type != ".bmp" && type != ".png") {
alert("请选择图片文件!");
return false;
}
var size = fileSize / 1024;
if (size > 10000) {
alert("图片不能大于10M");
return false;
}
$("#form1").ajaxSubmit({
url: 'UploadImage.ashx',
beforeSubmit: function () {
$("#upload").append(wait); //显示缓冲状态
$("#upload img").css("display", "inline");
},
success: function (data) {
$("#upload img").fadeOut(2000);//上传成功后隐藏缓冲状态
if (data != "上传失败") {
if ($.browser.msie) {
//ie9可能出现兼容问题
data = data.replace("<pre>", "").replace("</pre>", "");
}
$("#previewImage").attr("src", "uploadImages/" + data).hide().fadeIn(2000);
}
else {
alert("上传失败,请检查上传的是否为图片");
}
}
});
});
});
</script>
</head>
<body>
<form id="form1" runat="server" method="post" enctype="multipart/form-data">
<!-- 这里必须是 method="post" enctype="multipart/form-data" 否则失败-->
<div id="upload">
<input type="file" id="uploadImage" name="uploadImage" />
</div>
<div id="preview">
<img id="previewImage" src="images/noimage.jpg" alt="暂无图片" />
</div>
</form>
</body>
</html>
<%@ WebHandler Language="C#" Class="UploadImage" %>
using System;
using System.Web;
public class UploadImage : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";//如果是text/plain无法刷新图片
try
{
HttpPostedFile file = context.Request.Files[0];
if (file != null)
{
//再判断一次
if (file.ContentLength > 1024 * 1024 * 10)
{
context.Response.Write("上传失败");
return;
}
try
{
//上传图片的扩展名
string type = file.FileName.Substring(file.FileName.LastIndexOf('.')).ToLower();
//非图片文件,
if (type != ".jpg" && type != ".jpeg" && type != ".gif" && type != ".bmp" && type != ".png")
{
context.Response.Write("上传失败");
return;
}
//图片保存的文件夹路径
string path = context.Server.MapPath("~/uploadImages/");
//每天上传的图片一个文件夹
string folder = DateTime.Now.ToString("yyyyMMdd");
//如果文件夹不存在,则创建
if (!System.IO.Directory.Exists(path + folder))
{
System.IO.Directory.CreateDirectory(path + folder);
}
//保存图片的文件名
string saveName = Guid.NewGuid().ToString() + type;
//保存原图片
file.SaveAs(path + folder + "/" + "Original"+saveName);
//压缩图片,可修改大小,默认为150*150
Thumbnails(file.InputStream, path + folder + "/" + saveName, 150, 150);
//返回结果
context.Response.Write(folder + "/" + saveName);
}
catch
{
context.Response.Write("上传失败");
}
}
}
catch
{
context.Response.Write("上传失败");
}
}
public bool IsReusable
{
get
{
return false;
}
}
//生成缩略图函数
//顺序参数:源图文件流、缩略图存放地址、模版宽、模版高
//注:缩略图大小控制在模版区域内
public static void Thumbnails(System.IO.Stream fromFileStream, string fileSaveUrl, System.Double templateWidth, System.Double templateHeight)
{
//从文件取得图片对象,并使用流中嵌入的颜色管理信息
System.Drawing.Image myImage = System.Drawing.Image.FromStream(fromFileStream, true);
//缩略图宽、高
System.Double newWidth = myImage.Width;
System.Double newHeight = myImage.Height;
//宽大于模版的横图
if (myImage.Width >= myImage.Height)
{
if (myImage.Width > templateWidth)
{
//宽按模版,高按比例缩放
newWidth = templateWidth;
newHeight = myImage.Height * (newWidth / myImage.Width);
}
else
{
newWidth = templateWidth;
newHeight = templateHeight;
}//小图片变大
}
//高大于模版的竖图
else
{
if (myImage.Height >= templateHeight)
{
//高按模版,宽按比例缩放
newHeight = templateHeight;
newWidth = myImage.Width * (newHeight / myImage.Height);
}
else
{
newWidth = templateWidth;
newHeight = templateHeight;
}//小图片变大
}
//取得图片大小
System.Drawing.Size mySize = new System.Drawing.Size((int)newWidth, (int)newHeight);
//新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(mySize.Width, mySize.Height);
//新建一个画板
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空一下画布
g.Clear(System.Drawing.Color.White);
//在指定位置画图
g.DrawImage(myImage, new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height),
new System.Drawing.Rectangle(0, 0, myImage.Width, myImage.Height),
System.Drawing.GraphicsUnit.Pixel);
//保存缩略图
bitmap.Save(fileSaveUrl, System.Drawing.Imaging.ImageFormat.Jpeg);
fromFileStream.Close();
g.Dispose();
myImage.Dispose();
bitmap.Dispose();
}
}
分享到:
相关推荐
12. **单据整理**:将所有单据放入客帐袋,如临时住宿登记单、预订单、预授权凭证和押金单。 **信用卡处理** 13. **信用卡验证**:在使用信用卡时,需检查其有效性,并进行预授权操作。 14. **客人预结账**:通过...
10. **系统录入**:在“华仪”系统中完整录入入住信息,并上传至公安上传系统。 11. **单据整理**:将所有相关单据放入客帐袋,如临时住宿登记单、预订单、预授权凭证和押金单。 12. **信用卡处理**:在使用信用卡...
- **归档整理:** 定期对文件进行分类整理和归档,确保文档的安全与保密。 - **目录编制:** 建立完善的文件目录系统,方便检索与查阅。 **3.2 保密制度** - **保密意识:** 加强员工保密意识教育,确保敏感信息不...
- **算法思路**:遍历图片的所有像素点,检查每个像素点的颜色值,如果是白色且不透明,则将其透明度调整为50%。 #### 35. 发布SQLite数据库 - **打包数据库**:将SQLite数据库文件打包进APK中。 - **复制数据库**...
确保将它们整理到一个逻辑清晰的目录结构,例如`images/avatars/gallery`,这是PHPBB论坛头像的标准上传位置。 **步骤四:上传头像** 登录到PHPBB论坛的后台管理界面,进入用户管理或设置部分,找到头像上传功能。...
以下为本次改进功能 2012年8月17日 04:01:18 封包前改进功能 1,升级编辑器到最新版KindEditor 4.1.2 (2012-07-21),支持批量上传,再次检查上传类是否有安全问题 2,升级广告幻灯插件到myFocus2.0,新增加3种幻灯类型 3...
在进行单站验证之前,需要对站点的状态进行全面检查,包括确认是否存在告警、小区状态是否正常、X2接口是否正常建立等。这一步骤对于确保测试的准确性非常重要。 #### 七、测试路线规划 根据不同类型的站点(如...
`uploads`目录可能用于用户上传的网址信息或者相关图片,比如用户自定义的图标或推荐的网址。 总结起来,《国际网址导航系统 v5.8.zip》是一个包含源码的网址管理平台,具备用户界面、后台管理、网址分类、搜索功能...
4. **后台参数配置检查**:包括邻区配置、重选参数等后台参数,以及PCI(物理小区标识)等前台参数的准确性,并检查基站信号质量(RSRP和SINR)。 5. **基站基本功能测试**:测试基站的切换能力、PING响应、FTP上传...
2. **仓储/防损部**:主要负责仓库的货物整理、初次盘点、复查以及遗漏检查。 3. **收货部**:录入盘点数据,无论是手工盘点还是通过盘点机收集的数据。 4. **IT部**:确保盘点数据能准确导入到超赢软件系统中。 5. ...
- **集成测试**:检查不同模块之间是否能够协调一致地工作。 - **性能测试**:模拟高并发场景下系统的响应能力。 - **安全性测试**:检测是否存在漏洞,保护用户数据安全。 通过以上步骤,最终实现了高效、稳定、...
5.改良系统安装文件,增加数个权限检查点 V3.4Sp1(20100816) 增加 1.增加考试项目管理搜索功能 2.增加导入考生文件是否上传完成判断 3.增加导入文件格式检测提示 4.增加导入试题确认提示 5.考生管理增加刷新按钮 ...
1.内页增加QQ显示功能,以前只在后台显示,这样前台前显,增加了共享,互作链接! 2.提交网址页设置了,不允许提交二级域名,如还想让提交二级域名chklogin.asp页不更新即可! 3.拦截功能,设置了拦截:因为没有改...
- **功能**: 论坛标签整理页。 - **作用**: 显示论坛标签列表。 - **开发建议**: 增强标签的分类和搜索功能。 **29. task.php** - **功能**: 论坛任务程序。 - **作用**: 触发任务执行,判断任务完成情况。 - **...
- **完善项目与提交文档**:最后一步是对整个项目进行收尾工作,包括文档整理等。 #### 2. 系统需求分析与功能设计 这部分详细介绍了系统的需求和预期功能。 - **系统性能需求**: - **磁盘容量要求**:本系统...
- **文件上传**:提供文件上传接口,让用户上传Excel文件。 - **解析文件**:使用适当的库或组件解析Excel文件中的数据。 - **数据验证**:验证导入的数据是否符合预期格式。 - **数据导入**:将验证后的数据保存到...
FoosunCMS系统包括了信息采集、整理、分类、审核、发布和管理的全过程,具备完善的信息管理和发布管理功能,是企事业单位网站、内部网站和各类ICP网站内容管理和维护的理想工具。现推出FoosunCMS新版本是国内领先的...