首页 新闻 会员 周边 捐助

js获取file控件上传的路径

0
悬赏园豆:20 [已解决问题] 解决于 2012-04-17 18:09

怎么获取?一直都是C:\fakepath\*.jpg,谷歌,IE都是这样,看了网上的一些方法,都不行,不知道是我代码有问题还是怎么样,请给出能正常运行的代码,别给链接什么的,网上的那些我都找过了。。。。。

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UploadPics.ascx.cs" Inherits="UploadPics"%>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function addFile() {
var div = document.createElement("div");
var f = document.createElement("input");
f.setAttribute(
"type", "file")
f.setAttribute(
"name", "File")
f.setAttribute(
"size", "50")
f.setAttribute(
"onchange", "setImg(this)");
var img = document.createElement("img");
img.setAttribute(
"name", "FileImg");
img.setAttribute(
"src", "");

div.appendChild(f)
div.appendChild(img);
var d = document.createElement("input");
d.setAttribute(
"type", "button")
d.setAttribute(
"onclick", "deteFile(this)");
d.setAttribute(
"value", "移除")
div.appendChild(d)
document.getElementById(
"_container").appendChild(div);
}
//返回选取的图片的路径
function getValue(obj) {
obj.select();
//该对象选取

return document.selection.createRange().text; //返回选取项的文本内容
}
function setImg(t) {
if (!/\.((jpg)|(bmp)|(gif)|(png))$/ig.test($(t).val())) {
alert(
'只能上传jpg,bmp,gif,png格式图片!');
return;
}
alert(
"123");
alert(getPath(t));
$(t).closest(
"div").find("img").attr("src", 'file:///'+ getPath(t));
$(t).closest(
"div").find("img").attr("height", 50);
$(t).closest(
"div").find("img").attr("width", 50);
}
function deteFile(o) {
while (o.tagName !="DIV") o = o.parentNode;
o.parentNode.removeChild(o);
}


//返回选取的图片的路径
function getPath(obj) {
alert(window.navigator.userAgent);
if (obj) {
if (window.navigator.userAgent.indexOf("MSIE") >=1) {
obj.select();
return document.selection.createRange().text;
}
elseif (window.navigator.userAgent.indexOf("Firefox") >=1) {
if (obj.files) {
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}

}
function CheckImgCss(img) {
if (!/\.((jpg)|(bmp)|(gif)|(png))$/ig.test(o.value)) {
alert(
'只能上传jpg,bmp,gif,png格式图片!');
}
else {
$(img).filters.item(
"DXImageTransform.Microsoft.AlphaImageLoader").src = o.value;
//$('Image1').src = o.value;//这里IE7已经不支持了。所以才有上面的方法。
}
}
</script>
<body>
<form id="form1" runat="server" method="post" enctype="multipart/form-data">
<h3>
多文件上传</h3>
<div id="_container">
<div>
<input type="file" size="50" name="File" onchange="javascript:setImg(this)"/>
<img name="FileImg" src="" alt=""/>
</div>
</div>
<div>
<input type="button" value="添加文件(Add)" onclick="addFile()"/>
</div>
<div style="padding: 10px 0">
<asp:Button runat="server" Text="开始上传" ID="UploadButton" OnClick="UploadButton_Click">
</asp:Button>
</div>
<div>
<asp:Label ID="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt"
Width
="500px" BorderStyle="None" BorderColor="White"></asp:Label>
</div>
</form>
</body>

看看该怎么整。。。

Rookier的主页 Rookier | 小虾三级 | 园豆:652
提问于:2012-03-30 12:49
< >
分享
最佳答案
0

有的浏览器出于对安全性的考虑,会把真是路径变成 fakepath

收获园豆:5
.! | 菜鸟二级 |园豆:402 | 2012-04-08 10:23
其他回答(3)
-3
onchange="javascript:setImg(this。value)" 應該 是客戶端方法
是js 代碼哦
 onchange="javascript:setImagePreview( this.value );"
收获园豆:5
無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-30 13:09

?你不测试你也要看看代码吧。。。

支持(0) 反对(0) Rookier | 园豆:652 (小虾三级) | 2012-03-30 13:28

@Rookier: 我告訴你,參數寫錯了吧。我這裡就是 this.value調用的哦

支持(0) 反对(0) 無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-30 13:32

@無限遐想: 哦 。看錯你的代碼了。呵呵。

支持(0) 反对(0) 無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-30 13:33

@無限遐想:  $(img).filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = o.value;

裏面的o 是什麽?

支持(0) 反对(0) 無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-30 13:37
0

js无法获取file选择文件的路径

收获园豆:5
君之蘭 | 园豆:230 (菜鸟二级) | 2012-03-30 13:21
0

确实火狐和google浏览器有问题

收获园豆:5
阿彬 | 园豆:211 (菜鸟二级) | 2012-03-30 13:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册