当前位置:首页>>问题

易语言访问本地php文件(php+js混合脚本),实现本地图片跨域上传到服务器

之前用的花生壳软件,实现本地url可以让外网来访问,后来发现花生壳有流量限制,需要收费,一年300多,太贵后来考虑使用网盘来存储图片,网盘也是需要花钱的,所以一直在想有没有免费的解决方案先说问题:1、易语言的网页_访问、网页_访问s、网页_访问_对象,这三个可以执行php脚本,不能执行页面的js脚本,放弃掉2、易语言

admin

之前用的花生壳软件,实现本地url可以让外网来访问,后来发现花生壳有流量限制,需要收费,一年300多,太贵

后来考虑使用网盘来存储图片,网盘也是需要花钱的,所以一直在想有没有免费的解决方案

先说问题:

1、易语言的网页_访问、网页_访问s、网页_访问_对象,这三个可以执行php脚本,不能执行页面的js脚本,放弃掉

2、易语言的超文本浏览框、互联网浏览器,这两个组件也不行,不能正确的执行js脚本,放弃

3、最后下载精易web浏览器支持库,可以正确的执行php+js脚本了,下载地址:https://pan.baidu.com/s/1az5QkbQk3W2f7akKmpDFhA?pwd=h4ft

4、支持库的安装使用方法我就不写了,自己百度搜索

5、精易web浏览器装好后,使用又出问题了,因为我用在了线程里面,提示:禁止多线程调用此接口 wkeloadurlw...,解决这个问题就是使用一个标签,然后在标签反馈事件里面调用精易web浏览器

1.png

1713623743192337.png

6、这样就完美的解决了同时执行js+php脚本文件了

7、再来说一下这个send.php文件,这个文件先用php脚本file_get_contents读取一张本地图片,再将读取的图片数据转换成base64格式,再使用js脚本将base64格式转换成formdata格式,再发送给服务器的接收文件,实现将本地图片上传到服务器的功能

8、为了实现这个功能,花了不少时间和精力,总算是弄好了,在此记录一下

9、对了,send.php文件里面还有一个跨域的问题,解决这个跨域(CORS)问题就是在服务器接收文件的顶部加上下面3句代码:

// 制定允许其他域名访问

header("Access-Control-Allow-Origin:*");

// 响应类型

header('Access-Control-Allow-Methods:POST');

// 响应头设置

header('Access-Control-Allow-Headers:x-requested-with, content-type');









返回顶部