javascript 获取上传文件路径的问题

碰到个非常头疼的问题。
[code="java"]


function change() { document.form1.pic.src=document.form1.file1.value; }

草图: 草图浏览:


[/code]
当点击浏览文件的时候,草图浏览会显示当前选择的图片。
很简单的一个功能,但是现在的问题是,这段代码在IE6工作正常,IE7,IE8完全没有反应。
还请多多指教。


[b]问题补充:[/b]
[quote="kjah"]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

function change(){ var pic=document.getElementById("pic"); var file=document.getElementById("file1"); pic.src=file.value; if(file.files){ if(file.files.item(0)){ url=file.files.item(0).getAsDataURL(); pic.src=url; } } }

草图: 草图浏览:


[/quote]
刚使用了大哥的这段代码,仍然不行,经过查证发现。我原来的代码如果保存为html文件在本地IE6.7.8打开没有任何问题,问题出在,当我放到服务器端时,只有IE6才能出现出现我想要的效果。服务器端页面为jsp页面。求解。

2个回答

浏览器的安全策略不允许JS访问上传文件的路径,只能取得文件名。
IE8下获取的路径还会是个假的,好像是“C:\fakepath\xxx.xxx”
并且在IE7以上版本不能在非本地域时设置src为本地路径

不过网上有很多特殊方法来实现,IE用选中区域文字获取路径,滤镜显示图片。
FF直接获取base64编码后的文件

还可以用ActiveX来做这个功能,或者依靠服务器实现。(上传到服务器,再从服务器请求缩略图。。。)

这里有最详细的一篇文章:[url]http://www.blueidea.com/tech/web/2009/7285.asp[/url]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

function change(){ var pic=document.getElementById("pic"); var file=document.getElementById("file1"); pic.src=file.value; if(file.files){ if(file.files.item(0)){ url=file.files.item(0).getAsDataURL(); pic.src=url; } } }

草图: 草图浏览:


Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于无法获取上传文件路径的问题
代码如下:rn    脚本文件rn    rn    html文件rn    rn rn现在文本框中的值是undefined,不知道怎么回事,多谢了
strust2获取上传 文件路径、类型问题
jsp页面:rnrnJavabean : private Blob head = null;省略set\getrnrnAction : rn private File myFile;//上传图片的临时文件 .tmprn private static String fileName;上传的文件类型 fileName.xxxrn private String imageFileName;//要存的文件 imagefileName.xxxrnexecute方法:rn System.out.println(myFile);rnrn打印结果:C:\Program Files\Apache Software Foundation\Tomcat 6.0\work\Catalina\localhost\mytest\upload__6e82f698_12e470acd78__8000_00000003.tmprnrn我想得到 图片的类型,如: .jpg\.png 等等。上面的myFile也只得到.tmp类型,不是我想要的。rn请问各位有什么办法可以得到我想要的。rn
上传文件路径的问题
页面上在做Fireware 升级的时候,用的控件是[code=HTML][/code]rn但是这样做出来的input按钮,只能选择[color=#FF0000]本地的文件[/color]。rn请问,我怎么才能选择一个远程的文件 来做升级。比如url=[color=#FF0000]http://www.test.com/ttt/fireware.bin[/color]的这个文件?rnrn我试过改input的value值,可没用。页面提交时,还是会上传本地的那个文件,不会上传value里的那个文件。rnrn现在可行的办法是,点击input,跳出“打开”的页面,在“文件名”那一栏,输出远程文件的url,倒是能成功。rn可是师傅说,到时候要自动升级,也就是说不能手工输入url进去。rnrn不知道能不能通过改input value的方法实现?rnrn
关于上传文件路径的问题
String url = "/"+part_one+"/"+part_two+"/"+part_three+ "/"+part_four +"/";rn代码明明写的是"/"rnrn\mms_resources\temp\2010\20104\2010421\201042184826\122912f1-50d8-425a-9883-f72841e5f769.txtrn为什么存到数据库就变成"\"这样了啊??rnrn
Javascript 获取当前JS文件路径
1.原生Javascript获取当前JS文件路径 var file, scripts = document.getElementsByTagName("script"); file = scripts[scripts.length - 1].getAttribute("src"); 2. 在jQuery中获取当前JS文件路径 $("script").last().attr("src");
JavaScript获取上传文件大小
&amp;lt;!doctype html public &quot;-//w3c//dtd html 4.0 transitional//en&quot;&amp;gt; &amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;title&amp;gt; new document &amp;lt;/title&amp;gt; &amp;lt;meta name=&quot;generator&quot; content=&quot;editpl
Javascript中文件路径的问题
问个比较基础的问题,在一个html文件中引入了一个.js的文件,那么对于这个 .js 的文件来说,它所对应的当前路径应该是哪一个?是html文件所在的路径,还是 .js 文件的路径?(html与js不在同一文件夹中)rnrn由于js中引用的其他资源文件总找不到,所以虚心求教
uploadify 3.2 如何获取本地上传文件路径
最近使用uploadify 3.2 在irefox3 29和ie8实现图片预览功能 代码如下[code=javascript]$(document).ready(function() rn $("#file_upload").uploadify( rn 'buttonText' : '请选择', rn 'height' : 30, rn 'swf' : 'uploadify.swf', rn 'uploader' : '/uploadFile', rn 'width' : 120,rn 'fileDesc' : '图片文件' , //出现在上传对话框中的文件类型描述rn 'fileExt' : '*.jpg', //控制可上传文件的扩展名,启用本项时需同时声明fileDescrn 'sizeLimit': 86400, //控制上传文件的大小,单位byte rn 'auto':false, rn 'debug':true,rn 'fileObjName' : 'file', rn 'onSelect': function(file,data) rn PreviewImage(file);rn rn , rn 'onUploadSuccess' : function(file, data, response) rn alert( file.name + ' 上传成功! '); rn rn ); rn ); rn function PreviewImage(imgFile)rn alert(imgFile.type);rn // var filextension=imgFile.name.substring(imgFile.name.lastIndexOf("."),imgFile.name.length);rn var filextension=imgFile.name.substring(imgFile.name.lastIndexOf("."),imgFile.name.length);rn // var filextension=imgFile.value.substring(imgFile.value.lastIndexOf("."),imgFile.value.length);rn filextension=filextension.toLowerCase();rn if ((filextension!='.jpg')&&(filextension!='.jpeg'))rn rn alert("对不起,系统仅支持jpg格式的照片,请您调整格式后重新上传,谢谢 !");rn imgFile.focus();rn rn elsern var preview=document.getElementById("imgPreview");rn if(document.all)//IErn alert("IE");rn imgFile.select();rn document.getElementById("file_upload").select();rn path = document.selection.createRange().text;rn document.getElementById("imgPreview").innerHTML="";rn document.getElementById("imgPreview").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=\"" + path + "\")";//使用滤镜效果 rn rn else//FFrn rn //for (var i = 0; i < imgFile.length; i++) rn var file = imgFile;rn var imageType = /image.*/;rn rn rn if (!file.type.match(imageType)) rn // continue;rn // rn alert('ff');rn var img = document.createElement("img");rn img.classList.add("obj");rn alert("FF"); rn document.getElementById("img1").src =document.getElementById("file_upload").file[0].getAsDataURL() ;rn preview.appendChild(img);rn rn rn rn rn rn rn[/code]rn可是上传的时候发现怎么也获取不到本地文件的路径rn还有ff上貌似上传图片提示http 302错误 请用过uploadify的高手们指教哈
SmartUpload组件获取上传文件路径出错
今天我在使用上传组件SmartUpload上传文件时 获取文件上传路径是nullrn这是表单中的代码: 照片: rn这是提交页的代码:String file1=smart.getRequest().getParameter("ufile"); 输出file1里面的值是nullrn我应该如何的 获取上传文件的路径 把它存入数据库当中 (数据库当中存放的是图片路径,而且只是图片的名字,不包含路径;图片在服务器上面存放) 希望各位高手,不惜血本,大力支持下^_^
获取FileUpload的客户端的上传文件路径
获取FileUpload的客户端的上传文件路径,就是客户所传文件在客户端的实际物理路径
如何获取上传文件路径中的文件名及后缀
如何获取上传文件路径中的文件名及后缀
获取临时文件路径的问题
比方说我创建Excel进程,rn Excel.Application app = new Excel.Application();rnrn 这时有临时文件Book1.xls产生,如何获取它的路径,该文件是在内存中呢,还是临时文件夹中,但我在临时文件夹未找到文件
java获取文件路径的问题
在java中如何实现获取选中的文件路径呢? 就像上传文件一样 你选择好要上传的文件时 前面的文本框会自动带出你选择的文件的路径。该如何实现呢?(不是要实现上传功能,只要能得到选中的文件路径就行) 希望大侠们赐教。
关于获取文件路径的问题
rn//这行代码用来获取文件路径的,请问他是怎么获取的??能具体的和我说下么rnstring Path = Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\"));rnrnPath += @"\01.jpg";
获取文件路径的问题
我用AppDomain.CurrentDomain.BaseDirectory;读取得到路径rnD:\\Application\\SQLTOAccess\\SQLTOAccess\\bin\\Debug\\rn怎么样把他转为如下格式的路径??rnD:\Application\SQLTOAccess\SQLTOAccess\bin\Debug\rn如果有什么方法直接读得更好..........
一个获取文件路径的问题
帮我解释一下下面这行语句的作用吗?rn我知道是获取当前程序集的路径,但是后面CodeBase.Substring(8)这是做什么的就不太了解了rnrnSystem.Reflection.Assembly.GetExecutingAssembly().CodeBase.Substring(8);rnrn谢谢了!!!
跪求,如何获取拖拽上传的文件路径?
这个是处理拖拽的代码,本想把拖拽进来的数据复制给input file标签,但是input file的value属性是只读的,无法赋值,直接读取拖拽进来的文件又不知如何读取路径。求内位大神帮忙解决一下?小弟不胜感激!!!rn[code=javascript]rnfunction handleDnDFileSelect(event) rn rn event.stopPropagation();rn event.preventDefault();rn rn for (var i = 0, f; f = files[i]; i++) rn rn var reader = new FileReader();rn rn document.getElementById("files").value = files;rn output += " " + files+ ""; /* f.name - Filename */rn rn document.getElementById('fileList').innerHTML = output; rn rn[/code]
关于文件路径的获取问题
请问,为什么Message.class.getClassLoader().getResource("./图片03.jpg").getPath()的值是rn/E:/work/ews/mas/target/test-classes/%e5%9b%be%e7%89%8703.jpgrn这其中文件名中的中文“图片”怎么编码成了%e5%9b%be%e7%89%87 ?
关于文件路径获取的问题?
我的应用程序中包含一xml文件,在调试程序的时候可以找到该文件.打包部署后,我将整个程序安装到了D:/exe目录下,并添加注册表让其开机自动启动,这时候问题便出现了,提示找不到c:/windows/system32/config.xml文件,为什么会到system32下找该xml文件了呢?而不是到D:/exe/下?请问这是什么原因啊?怎么样改让其到应用程序文件夹D:/exe/下找该xml文件呢?
配置文件文件路径获取问题
各位 我写了个获取系统路径的方法rnLPSTR Fileout::Getpath()rnrn char SysPath[MAX_PATH];rn LPSTR FilePath;rn DWORD type=REG_SZ;rn DWORD size=MAX_PATH;rn GetSystemDirectory(SysPath,size);rn FilePath=lstrcat(SysPath,"\\SK_hotvalue.ini");rn return FilePath;rnrn返回的值是“C:\WINDOWS\system32\SK_hotvalue.ini” rn可我用::WritePrivateProfileString() 方法写配置文件的时候它找不到那个文件 要用rnC:\\WINDOWS\\system32\\SK_hotvalue.ini这个路径才能正确的写rnrn然后这个问题应该怎么解决呢 拜托各位~~rn
eclipse下tomcat上传文件路径的问题
今天进行项目的测试,发现上传的图片出现问题。发现是由于文件的路径出现错误。发现通过文件上传的文件如果是形如“/*”,的则建立的文件夹是在项目盘的更目录下,如果是形如“*”的则会发现如果是在tomcat下,则会在bin目录下建立文件夹,如果是在eclipse下,则会建立在eclipse目录下。如此我们只能对上传文件路径进行配置管理,我用到两种方法特别记录。        1.是把上传的文件路径直接
获取文件路径
web页面需要获取某个文件夹在系统的存储路径,文件夹名是固定的FTP。如果不存在则在用户选择的路径下自动新建文件夹FTP。rn这个怎么实现,采用的是Struts框架。
文件路径的获取
在jsp页面定义了如下内容rnfunction uploadFile()rn if(document.getElementById("fileInPath").value!=null)rn document.getElementById("fileInPath").value=document.getElementById("fileInPath1").value;rn userForm.submit();rn rn rn rn rn rn rnrnrn在UploadServlet中通过rn String fileInPath=request.getParameter("fileInPath");rn获取到了文件的绝对路径如:D:\properties\a.txt;rn问题:由于filePath存储的值为 D:\properties\a.txt,我要向该文件中写入内容该怎么写??????rn试过 String fileInPath=request.getParameter("fileInPath").replaceAll("\\", "\\\\");结果不行,我觉得是filePath存储的值的本身的问题,由于\是转移字符,平常若定义String s=“D:\properties\a.txt”都是不合法的,必须是String s=“D:\\properties\\a.txt";
CSS美化上传按钮并获取上传文件路径
先来看效果图 上传功能很常见了,就是一个 input file 功能。 但是默认的上传很丑啊有没有,所以网上也有很多美化的 css 文章,但是很多也只是美化以下按钮而已,今天遇到一个问题就是还要显示上传文件的路径,一般默认的都会在后面显示上传文件名,但是按照网上的教程美化之后,就把文件名这些东西看不到了,这也是很郁闷的。所以这里等于有两个需求,一个是按钮要美化,另一个就是还
javascript文件中获取当前文件路径
在开发javascript插件的过程中,我们有时候需要获取当前JS文件的路径,用于自动加载一些图片、CSS等外部资源,但是javascript文件中并没有像PHP那样的__FILE__常量来供我们取得当前文件路径
UEditor设置上传文件路径
  依次打开(如下),配置里已经说得很详细。如果要配置文件访问前缀路径就更改这个“imageUrlPrefix”:“”,/ *图片访问路径前缀* /,默认为空。一般的情况下我们不需要更改此配置,只需要更改上传路径即可(注:我下载的是PHP版本,我想配置应该都是一样的)。  ...
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件