<%@ Language="Javascript" CodePage="936" %>
<%
var len=Request.TotalBytes;
var fileData=Request.BinaryRead(len);
var sDes=getDes();//获取图片信息函数
var oStream=Server.CreateObject("ADODB.Stream");
oStream.Open();
oStream.Type=1;
oStream.Write(fileData);
oStream.Position=0;
oStream.Type=2;
oStream.Charset="unicode";
var gbCode=oStream.ReadText();//读取unicode字符
gbCode=escape(gbCode).replace(/%u(..)(..)/g,"%$2%$1");//%uabcd转换为%cd%ab
var divider=gbCode.substring(0,gbCode.indexOf("%0D%0A"));//获取图片分隔符好"%0D%0A"表示回车换行
var sPos=gbCode.indexOf("%0D%0A%0D%0A")+12;//获取图片字节的起始位置,也就是2个回车换行后
sLength=len-(divider.length/3)-sPos/3-6;
//因为%xx表示一个字节,所以/3,-6是因为一般图片内容结束后有一个回车换行,分隔符加两个--和一个回车换行
//分隔符号+一个回车换行
//图片信息+两个回车换行
//图片内容+一个回车换行
//分隔符号+两个--+回车换行
oStream.Position=0;
oStream.Type=1;
oStream.Position=sPos/3;
var sBytes=oStream.Read(sLength);//读取图片内容
oStream.Close();
oStream.Open();
oStream.Type=1;
Response.Write(Math.ceil(sLength/1024)+"k");//输出图片大小
oStream.Write(sBytes);//写入图片内容
//把图片存入upload文件夹
var fso=Server.CreateObject("Scripting.FileSystemObject");
if(!fso.FolderExists(Server.Mappath("upload")))
{
fso.CreateFolder(Server.Mappath("upload"));
}
try{
oStream.SaveToFile(Server.Mappath("upload"+"\\"+sDes.sourceName));
}catch(e){Response.Write("已存在此文件!")}
oStream.Close();
//获取图片信息函数
function getDes()
{
var oStream=Server.CreateObject("ADODB.Stream");
oStream.Open();
oStream.Type=1;
oStream.Write(fileData);
oStream.Position=0;
oStream.Type=2;
oStream.Charset="gb2312";
var sType=oStream.ReadText();
oStream.Close();
oStream=null;
var type=sType.match(/Type: (.*)$/m)[1];
var name=sType.match(/name="(.*?)"/)[1];
var filename=sType.match(/filename="(.*?)"/)[1];
var sourceName=filename.match(/([^\\]*?)$/)[1];
return {"sourceName":sourceName,"name":name,"filename":filename,"type":type}
}
%>
分享到:
相关推荐
总的来说,实现JavaScript上传图片预览效果需要结合HTML、CSS和JavaScript,利用File API读取文件,并通过`<img>`标签显示预览。在旧版浏览器中,可能需要依赖额外的库或技术来达到兼容性。这些文件名表明了实现这一...
在JavaScript中实现上传图片的预览效果是一项常见的前端功能,主要应用于网页表单提交或社交媒体平台等场景。这个"JavaScript 上传图片预览效果.zip"文件可能包含了一个演示如何在用户选择图片后即时显示预览的示例...
JavaScript 图片上传预览功能是网页开发中常见的一种交互设计,允许用户在正式提交文件之前先查看所选图片的效果。这种功能通常用于提高用户体验,确保用户上传的图片符合预期的格式和尺寸。以下是对给定代码的详细...
网上有很多类似的这样程序但不能支持IE9.0和最新GOOGLE浏览器,这个javascript上传图片在线本地浏览功能(支持IE9.0和最新GOOGLE浏览器GOOGLE13.0以上)
<title>JavaScript上传进度条 <div id="progressBar"></div> ()">上传 ``` **二、JavaScript实现** 1. **选取文件**:通过`document.getElementById('uploadFile')`获取文件输入元素,然后监听`change`...
在这个项目中,HTML会包含一个用于用户选择文件的`<input type="file">`标签,可能还有一个用于显示上传图片的容器。通过设置`multiple`属性,可以让用户选择多个文件。此外,HTML还可能包含了Vue.js的数据绑定和...
然后,它使用 JavaScript script 来实现上传图片的功能,包括上传、删除和添加图片的操作。 知识点总结 该资源的知识点主要包括: 1. PHP 批量上传图片的实现方法 2. JavaScript 在批量上传图片中的应用 3. HTML...
这个项目是用PHP、Ajax和JavaScript这三种技术实现的,允许用户上传图片并即时预览,同时还可以调整显示的图片大小。接下来,我们将深入探讨这些技术以及它们在实现此功能中的角色。 **PHP** 是一种广泛使用的...
在本文中,我们将深入探讨如何使用纯JavaScript实现上传图片前的预览功能,并且检查图片的大小,确保兼容性覆盖到IE7至IE10、Firefox以及Chrome等主流浏览器。这个功能对于用户交互体验有着重要的作用,因为它允许...
在JavaScript中,对上传图片进行大小、宽度和高度的判断是一项常见的前端操作,尤其是在实现用户在网站上上传图片时需要预览和验证图片格式及尺寸的场景。以下是一些关于如何使用JavaScript进行这些判断的关键知识点...
无刷新上传图片是一种提高用户体验的技术,它通过JavaScript和Ajax实现,让用户在不离开当前页面的情况下完成文件上传。这种技术在现代网页应用中广泛使用,因为它能够保持页面的流畅性,减少用户等待时间,并且使...
在JavaScript中实现图片上传预览是一项常见的前端功能,它允许用户在正式上传图片到服务器之前先看到图片的效果,提供了一种良好的用户体验。这个过程通常包括选择图片、读取图片数据、处理图片(如尺寸调整)以及在...
在JavaScript中实现图片裁剪和上传功能是一项常见的前端任务,主要应用于用户在网站上上传个人头像、商品图片等场景,允许用户预览并自定义裁剪区域,以确保上传的图片符合特定尺寸或比例。这个功能涉及到HTML5的...
在图片上传过程中,ASP.NET接收JavaScript发送的裁剪后图片数据,通常通过Ajax异步请求完成,这样可以在不刷新页面的情况下完成上传。服务器端可以使用ASP.NET的HTTP模块或控制器来接收和处理这些请求。收到图片数据...
不用IE控件(ActiveXObject)不用 Img属性 上传图片客户端判断大小,javascript获得上传图片的大小 兼容所有浏览器,亲测可用 判断文件大小,判断上传图片的大小,图片格式
"html+javascript头像上传预览"是利用HTML和JavaScript技术实现的一种交互方式,它允许用户在提交头像之前预览选定的图片,提供更好的用户体验。在此过程中,CSS可能用于美化和定制预览效果,例如将头像显示为圆形。...
在JavaScript的世界里,静态多附件上传是一个常见的需求,特别是在网页应用中。这个需求涉及到前端的交互设计、数据处理以及与服务器的通信。下面我们将详细探讨这个主题。 首先,"静态"在这里指的是没有依赖服务器...
总结来说,使用JavaScript和`plupload`实现图片上传到阿里云OSS,涉及到的关键技术包括:前端与后端的交互、`plupload`组件的配置与使用、阿里云OSS SDK的调用以及上传事件的监听与处理。这不仅提升了用户体验,还...
这个标题为“JavaScript上传多个文件”的资源,显然提供了一个简洁而实用的解决方案,使得开发者能够在不复杂的代码结构下实现这一功能。 首先,我们需要了解HTML5引入的`<input type="file">`元素的新特性,特别是...