首页 > 编程知识 正文

js修改input的value值(php file_get_contents)

时间:2023-05-05 18:25:35 阅读:69346 作者:4870

1 .问题页面包含input file服务器控件div。 div是image标签的容器,当input file的值改变时,它会向div添加image标签。

但是,如果在js的onchange事件中动态获取输入文件路径,则会发现在console.log(path )中打印的路径被浏览器屏蔽。 例如,c: ) fakepath ) file.jpg

2 .由于原因浏览器的安全机制,在获取input file路径时将替换为fakepath,并隐藏实际物理路径。

当然,调整浏览器的浏览器安全设置可以解决这个问题,但这个解决方案显然不是我们想要的,不能让所有用户都设置浏览器安全选项。

3 .了解window.URL.createobject URL (URL.createobject URL ) )方法时,将根据传递的参数创建指向该参数对象的URL。 此URL的生命只存在于创建的文档中,新对象的URL指向正在运行的File对象或Blob对象

语法: objcet URL=window.URL.createobject URL (file|| blob );

参数: File和Blob对象; File对象是文件。 例如,如果使用File type=”file "标记上载文件,则中的所有文件都将成为file对象。 Blob对象是二进制数据。 例如,在XMLHttpRequest中,如果将requestType指定为Blob,则返回的值也是Blob对象。

每次调用createObjectURL时,都会创建一个新的URL对象。 如果您已经为同一文件创建了URL .但不再需要此对象,则必须使用URL.revokeObjectURL () .方法将其释放。 当页面关闭时,浏览器会自动释放它,但为了获得最佳性能和内存使用,不再使用它时必须释放它。

4 .解决方案functiongetobjecturl (文件) { var url=null; if(window.createobjcecturl!=undefined ) { URL=window.createojcecturl (file ); }elseif(window.URL!=undefined ) { URL=window.URL.createobject URL (file ); }elseif(window.WebKitURL!=undefined ) { URL=window.WebKit URL.createobject URL (file ); }返回URL; (//使用方法$ ) (#file ).change ) function ) ) { var file=this.files[0]; var URL=getobject URL (文件; //blob :3358 doamin.com/5376 c16a-02f9- 489 f-b30c-97a 1808 d 5724 };

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。