关于JS插入图片的问题 请问怎么在JS中能往指定文件夹下插入图片我知道用FileUpload控件可以这样插入可是JS中怎么达到这样的功能呢?忘高手指点,谢谢。FileUpload1.SaveAs(Server.MapPath("../FilesImg/" + image));//上传图片到FilesImg文件夹下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function img(obj){strSelection = document.selection.createRange().textif (strSelection == "") {var enter_prompt =prompt("请输入图片的网络地址,如: http://www.abc.com/tupian.jpg","http://");if (!enter_prompt) {return false;}else{if(enter_prompt=="http://"){alert("请输入正确的网址,如:" + "\n"+ "http://www.abc.com/tupian.jpg");}else{obj.focus();with(document.selection.createRange())text="<br><img src='"+enter_prompt+"' width='466' hspace='0' vspace='5' border='1'><br>";}}return false;}else{obj.focus();with(document.selection.createRange())text="";}}</SCRIPT>// 用法:OBJ是表单元素名(img(obj)) [Quote=引用 1 楼 yfqvip 的回复:]这个可以把图片插入文件夹??我怎么看不出来啊,恕我愚昧啊,解释下么 <%@ 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} } %> 这个呢?http://www.cnblogs.com/cloudgamer/archive/2009/12/22/ImagePreview.html [Quote=引用 5 楼 yfqvip 的回复:]看得出来这也是FSO实现的,可是我不知道FSO应该放在哪里啊·放在JS里老是报错是不是FSO在.net项目不能用啊,纠结啊, 简单的说就是我现在上传图片了要把图片插入项目中指定的文件夹但是我不是用FileUpload所以不能用他得FileUpload.SaveAs插入图片··我要再JS立进行图片的插入操作 http://www.cnblogs.com/cloudgamer/archive/2009/12/22/ImagePreview.html就是这个里面效果预览第二个上传图片的 救急啊!为什么代码写的cmd和直接运行的cmd会不一样? 请问怎样在FLEX CELL里用代码查找合并单元格 求串口工具 20090814新手求助? 问一个很简单的问题,数据库时间查询的问题 (急) XML文件中数据内容导入Oracle 把菜单中的所有项删除,然后加入新项,用下面哪种方法好? 怎样让DataGrid和数据库联系起来呢? 哪个高手知道 怎么获取bmp信息? 求助:关于数据邦定的问题 asp.net生成flash C#封装窗体到动态链接库
strSelection = document.selection.createRange().text
if (strSelection == "") {
var enter_prompt =prompt("请输入图片的网络地址,如: http://www.abc.com/tupian.jpg","http://");
if (!enter_prompt) {
return false;
}else{
if(enter_prompt=="http://"){
alert("请输入正确的网址,如:" + "\n"+ "http://www.abc.com/tupian.jpg");
}else{
obj.focus();
with(document.selection.createRange())text="<br><img src='"+enter_prompt+"' width='466' hspace='0' vspace='5' border='1'><br>";
}
}
return false;
}else{
obj.focus();
with(document.selection.createRange())text="";
}
}
</SCRIPT>// 用法:OBJ是表单元素名(img(obj))
这个可以把图片插入文件夹??我怎么看不出来啊,恕我愚昧啊,解释下么
<%@ 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}
}
%> 这个呢?
http://www.cnblogs.com/cloudgamer/archive/2009/12/22/ImagePreview.html
看得出来这也是FSO实现的,可是我不知道FSO应该放在哪里啊·放在JS里老是报错是不是FSO在.net项目不能用啊,纠结啊,
简单的说就是我现在上传图片了要把图片插入项目中指定的文件夹
但是我不是用FileUpload所以不能用他得FileUpload.SaveAs插入图片··我要再JS立进行图片的插入操作
http://www.cnblogs.com/cloudgamer/archive/2009/12/22/ImagePreview.html就是这个里面效果预览第二个上传图片的