在firefox上,input(type=file)默认获取到的value值就是文件名。
在IE上,input(type=file)默认获取到的value值是路径。
因此用js来获取fileupload中的上传文件的文件名需要多方面考虑。
示例代码:
<form action="" method="get" onSubmit="return false;">
<input type="text" name="test" id="test">
<input type="file" name="testFile" onChange="if(thisvalue)insertTitle(thisvalue);">
<input type="submit" value="提交">
</form>
<script language="javascript">
function insertTitle(path){
var test1 = pathlastIndexOf("/"); //对路径进行截取
var test2 = pathlastIndexOf("\\"); //对路径进行截取
var test= Mathmax(test1, test2)
if(test<0){
documentgetElementById("test")value = path;
}else{
documentgetElementById("test")value = pathsubstring(test + 1); //赋值文件名
}
}
</script>
dim arr(3)后面加一行s=""
filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)& "" & fileNew 后面加一行
s=s & "/upfile/"&filename
最后一句的responsewrite 改成
Responsewrite
"<script type='text/javascript'>fn=<% =s %>;parentdocumentgetElementById('content_1')value=parentdocumentgetElementById('content_1')value+fn;
</script>"
在上传前你要往用户的cookie里放个标识,接收到上传文件后,也就是第一个请求,里面有文件名什么的基本信息,其中有个参数会告诉你一共有几个包,然后你把后续收到的该用户标识的几个包合并,还原成第一个包收到的文件名,这时候分片上传结束。
上传文件时,我想获取客户端上传文件的原始路径。第一考虑,当然是使用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 写道网上的一些解决方案:
一般都是上传以后在数据库中保存上传后的文件路径,本地路径一般没意义
除非像上面所说的文件上传预览,还有那么点用处
我用来做数据接口的,我仅仅是把路径传给另一个系统,然后那个系统就可以从这个路径取文件了。
11 分片、并发
分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。
当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。
12 预览、压缩
支持常用格式jpg,jpeg,gif,bmp,png预览与压缩,节省网络数据传输。
解析jpeg中的meta信息,对于各种orientation做了正确的处理,同时压缩后上传保留的所有原始meta数据。
13 多途径添加文件
支持文件多选,类型过滤,拖拽(文件&文件夹),粘贴功能。
粘贴功能主要体现在当有数据在剪切板中时(截屏工具如QQ(Ctrl + ALT + A), 网页中右击点击复制),Ctrl + V便可添加此文件。
14 HTML5 & FLASH
兼容主流浏览器,接口一致,实现了两套运行时支持,用户无需关心内部用了什么内核。
同时Flash部分没有做任何UI相关的工作,方便不关心flash的用户扩展和自定义业务需求。
15 MD5秒传
当文件体积大、量比较多时,支持上传前做文件md5值验证,一致则可直接跳过。
如果服务端与前端统一修改算法,取段md5,可大大提升验证性能,耗时在20ms左右。
16 易扩展、可拆分
采用可拆分机制, 将各个功能独立成了小组件,可自由搭配。
采用AMD规范组织代码,清晰明了,方便高级玩家扩展。
2、引入资源
21 下载包内容
├── Uploaderswf // SWF文件,当使用Flash运行时需要引入。
├── webuploaderjs // 完全版本。
├── webuploaderminjs // min版本
├── webuploaderflashonlyjs // 只有Flash实现的版本。
├── webuploaderflashonlyminjs // min版本
├── webuploaderhtml5onlyjs // 只有Html5实现的版本。
├── webuploaderhtml5onlyminjs // min版本
├── webuploaderwithoutimagejs // 去除处理的版本,包括HTML5和FLASH
└── webuploaderwithoutimageminjs // min版本
22 或者直接使用由staticfile提供的cdn版本,或者下载Git项目包。
// SWF文件,当使用Flash运行时需要引入。
├── >
以上就是关于怎么用js来获取 fileupload中的上传文件的文件名全部的内容,包括:怎么用js来获取 fileupload中的上传文件的文件名、ASP中怎么获取刚才上传的文件的文件名、Plupload 后台怎么获取上传的文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)