
<script src="文件地址" type="text/javascript"></script>
再把你需要用js文件的地方 粘贴这个进入
<script type="text/javascript" src="文件地址"></script>
<input id="file_Up" name="file_Up" type="file" onchange="getFileSize(thisvalue)"/>
<input id="sub_Import" type="submit" value="导入" />
js中function getFileSize() {
var btnsave = documentgetElementById("sub_Import");
btnsavedisabled = true;
var filepath = "";
var fileupload = documentgetElementById("file_Up");
if (fileuploadvaluelength < 5) {
alert('请选择文件!');
return;
}
var agent = windownavigatoruserAgent;
if (agentindexOf("Firefox") >= 1) {
var maxsize = 4 1024 1024;
var size = fileuploadfiles[0]size;
if (size > parseInt(maxsize)) {
alert("文件超过大小!");
return false;
}
else {
btnsavedisabled = false;
return true;
}
}
else {
fileuploadselect();
fileuploadblur();
filepath = documentselectioncreateRange()text;
try {
var fso, f, fname, fsize;
var flength = 4 1024; //设置上传的文件最大值(单位:kb),超过此值则不上传。
fso = new ActiveXObject("ScriptingFileSystemObject");
f = fsoGetFile(filepath); //文件的物理路径
fname = fsoGetFileName(filepath); //文件名(包括扩展名)
fsize = fSize; //文件大小(bit)
fsize = fsize / 1024;
//去掉注释,可以测试
alert("文件路径:" + f);
alert("文件名:" + fname);
alert("文件大小:" + fsize + "kb");
if (fsize > flength) {
alert("上传的文件到小为:" + fsize + "kb,\n超过最大限度" + flength + "kb,不允许上传 ");
return false;
}
else {
btnsavedisabled = false;
return true;
}
} catch (e) {
alert(e + "\n 跳出此消息框,是由于你的activex控件没有设置好,\n" +
"你可以在浏览器菜单栏上依次选择\n" +
"工具->internet选项->\"安全\"选项卡->自定义级别,\n" +
"打开\"安全设置\"对话框,把\"对没有标记为安全的\n" +
"ActiveX控件进行初始化和脚本运行\",改为\"启动\"即可");
return false;
}
}
}
上传文件时,我想获取客户端上传文件的原始路径。第一考虑,当然是使用js,例如网上可以找到的:
function getPath(obj) { if (obj) { if (windownavigatoruserAgentindexOf("MSIE") >= 1) { objselect(); return documentselectioncreateRange()text; } else if (windownavigatoruserAgentindexOf("Firefox") >= 1) { if (objfiles) { return objfilesitem(0)getAsDataURL(); } return objvalue; } return objvalue; } } 但这样的代码在Ie下还是可行的,但在火狐下不兼容。所以又想通过servlet的第三方工具去做,例如FileUpload,本以为FileItem下的getName()方法能够得到全路径名,但结果仍然只得到文件名,很是杯具!求解决方法!?
引用至于你说的,不明白你的意思关键问题是我要获得这个路径,并且传递到后台!用js会有兼容性问题,如果用FileUpload上传,是否可以获得呢?我是没有得到的!!! 问题补充:zhanjia 写道上传文件一般用input标签,type为file,浏览选择文件后就是文件在本地的绝对路径了
引用至于你说的,不明白你的意思关键的问题是我要获得这个本地路径,并且传到后台!用js可以得到,但存在兼容性问题!?如果用FileUpload呢?我暂时还没有得到!!! 问题补充:zhanjia 写道网上的一些解决方案:
一般都是上传以后在数据库中保存上传后的文件路径,本地路径一般没意义
除非像上面所说的文件上传预览,还有那么点用处
我用来做数据接口的,我仅仅是把路径传给另一个系统,然后那个系统就可以从这个路径取文件了。
ajaxuploadjs是一个开源的实现Ajax文件上传的jQuery插件,常用于向服务器上传文件。如果遇到该插件无法获取上传文件的问题,可能是以下几个方面的原因:
1、插件引用错误:首先需要确保插件已正确引用,可以检查HTML代码或控制台中是否出现引用错误或没有引用相关JS文件的情况。
2、表单设置错误:使用ajaxuploadjs时,需要将表单对象传递给插件以表示文件上传的上下文。如果表单对象设置有误,插件可能无法获取上传文件。可以确保表单中存在file类型的input,并将其作为参数传递给插件。
3、上传文件格式不正确:如果上传文件的格式不受支持,则插件可能无法正确获取上传文件。可以确保上传的文件格式与插件支持的格式相同。
4、安全问题限制:有些情况下,安全设置可能会禁止通过JavaScript读取文件内容,防止网站被黑客攻击等。可以检查安全设置以确定是否存在限制。
5、程序服务端问题:如果前面几个问题都排除了,还是无法获取上传文件,则可能是由于程序服务端的设置或代码实现问题,需要进一步检查或调试。
我就知道路径documentgetElementById("那个的id")value
下面的只做个参考
function
getFileName()
{
var
path
=
documentgetElementById("Main_FileUpload1")value;
var
pos1
=
pathlastIndexOf("\\");
alert(pos1);
var
pos2
=
pathlastIndexOf("");
var
pos
=
pathsubstring(pos1
+
1,
pos2);
alert(pathsubstring(pos1+1,pos2));
}
Main_FileUpload1是你的那个上传的ID,我也在搞这个,搞好了,正巧也是用asp。net
js采用File API 来上传文件的。
File API 由一组 JavaScript 对象以及事件构成。赋予开发人员 *** 作在 <input type=”file” … /> 文件选择控件中选定文件的能力。图 1 展示了 File API 所有的 JavaScript 的组合关系。
File API 简单示例
<body>
<h1>File API Demo</h1>
<p>
<!-- 用于文件上传的表单元素 -->
<form name="demoForm" id="demoForm" method="post" enctype="multipart/form-data"
action="javascript: uploadAndSubmit();">
<p>Upload File: <input type="file" name="file" /></p>
<p><input type="submit" value="Submit" /></p>
</form>
<div>Progessing (in Bytes): <span id="bytesRead">
</span> / <span id="bytesTotal"></span>
</div>
</p>
</body>
运行效果:
方法一:你可以把你上传的,放到数据库中的某个表中,然后,你查询表获得;
方法二:你上传成功以后,返回jsp 一个上传放置的路径,你把这个路径setValue到
<input id="tee" type="hidden"/>
通过$("#tee")val()获得路径,通过ajax,在后台通过url获得;
以上就是关于js 如何获取 <input type="file">的上传路径全部的内容,包括:js 如何获取 <input type="file">的上传路径、如何通过js获取上传文件尺寸、java或js(可用jquery)如何获取上传文件原始路径名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)