js 如何获取 <input type="file">的上传路径

js 如何获取 <input type="file">的上传路径,第1张

<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)如何获取上传文件原始路径名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9709589.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存