首页 新闻 搜索 专区 学院

<input type="file">

0
悬赏园豆:20 [已解决问题] 解决于 2016-12-13 11:06

<input type="file"  name="image" value="默认值" />这样给值给不了因为file是只读。那我要把从数据库里面读取的路径怎么放进去呢 ?

+pf_jay的主页 +pf_jay | 初学一级 | 园豆:69
提问于:2016-12-13 10:30
< >
分享
最佳答案
0

用文本框加按钮实现吧,把file隐藏掉,点击按钮触发file来实现上传,这样的话选择文件按钮也不会那么难看了,我一般都这样干

收获园豆:8
balahoho | 老鸟四级 |园豆:2048 | 2016-12-13 10:59
其他回答(4)
0

虽然我已经很久没做过前端的东西了,但这个我好像还记得是拿其他div,input,css做个类似upload的玩意。

而且很好奇你把这个路径放进去能干嘛?难道要用户去修改不成?

收获园豆:10
Daniel Cai | 园豆:10374 (专家六级) | 2016-12-13 10:33

不是修改,只是放进去让用户看到他之前存放的图片地址

支持(0) 反对(0) +pf_jay | 园豆:69 (初学一级) | 2016-12-13 10:34

@+pf: 没意义吧。你想下你页面呈现出来显示个d:\1.jpg对使用者有用么?这个相反会让用户很困惑,而且你一旦这样做了后面你就蛋疼了,可能会说尼玛这上面显示的是d盘为毛我点了上传出现的对话框中的位置怎么在桌面?

支持(0) 反对(0) Daniel Cai | 园豆:10374 (专家六级) | 2016-12-13 10:39

@Daniel Cai: 有道理,,,去跟领导反映下。。

支持(0) 反对(0) +pf_jay | 园豆:69 (初学一级) | 2016-12-13 10:40
0

如果只是放进去,让用户能看到图片地址的话,可以用 type="text",然后js赋值图片的路径。

收获园豆:2
代码飞了 | 园豆:470 (菜鸟二级) | 2016-12-13 10:38

做这个的初衷是进来显示,之后他还可以更改,选择新图片重新上传

支持(0) 反对(0) +pf_jay | 园豆:69 (初学一级) | 2016-12-13 10:40

@+pf: 哦哦

支持(0) 反对(0) 代码飞了 | 园豆:470 (菜鸟二级) | 2016-12-13 10:41

@+pf: 我搜了搜,网上说用 模拟键盘输入 来实现效果,可以看看

支持(0) 反对(0) 代码飞了 | 园豆:470 (菜鸟二级) | 2016-12-13 10:42
0

不知道你解决没有,我们公司在做的项目有一个头像上传功能。一开始用的input(text) 显示图片,input(file)上传。可是发现不能实现。因为input(file)上传以后会把路径加密,如果把直接把input file的值-路径显示处理,无法实现。

后来是用了AjaxFileUpload插件,把图片转化成二级制流用c#,存在本地项目目录下。

至于显示图片呢,则参考了网上的一段代码:

 1                 var $file = $(this);
 2                 var fileObj = $file[0];
 3                 var windowURL = window.URL || window.webkitURL;
 4                 var dataURL;
 5                 var $img = $("#headImg");
 6                 if (fileObj && fileObj.files && fileObj.files[0]) {
 7                     dataURL = windowURL.createObjectURL(fileObj.files[0]);
 8                     $img.attr('src', dataURL);
 9                 } else {
10                     dataURL = $file.val();
11                     var imgObj = document.getElementById("headImg");
12                     // 1、在设置filter属性时,元素必须已经存在在DOM树中,动态创建的Node,也需要在设置属性前加入到DOM中,先设置属性在加入,无效;
13                     // 2、src属性需要像下面的方式添加,上面的两种方式添加,无效;
14                     imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
15                     imgObj.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = dataURL;
16                 }

 

一个想干产品的前端 | 园豆:218 (菜鸟二级) | 2016-12-19 22:38
0

同意楼上的说法,在input type = "file"会默认使用加密的路径,你是读取不到的,建议使用一些已经打包好的现成类,例如:commons-fileupload,这个博客讲的挺详细:传送门

letcafe | 园豆:434 (菜鸟二级) | 2016-12-25 15:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册