webview在app端上传文件只能选择图片类媒体文件,有办法可以选其它类型的文件吗?webview中打开的是现成的web站点,用uni-app只是把web站点转成安卓apk,有啥办法可以解决webview中这个上传问题吗?
试了下载社区的上传组件,但必须使用uni-app的那套语法来重新写,目前是在webview中使用上传,所以也行不不通
### 回答
在uni-app中打包web站点并使用webview来展示时,确实默认可能只能上传媒体文件(如图片)。要上传非媒体类型文件(如PDF、文档等),你可以尝试以下方法:
1. **修改Android原生代码**:
- 你可能需要修改uni-app生成的Android原生代码,特别是webview组件的相关部分,以允许选择非媒体文件。
- 这通常涉及到修改`WebView`的`WebChromeClient`和`ValueCallback<Uri[]>`的实现,确保`ACCEPT_TYPE`中包含`*/*`或具体的非媒体MIME类型。
2. **使用文件选择器插件**:
- 虽然你提到已经尝试过社区中的上传组件,但如果你愿意稍微调整webview的使用方式,可以考虑在webview之外的uni-app原生页面中使用文件选择器插件。
- 用户选择文件后,可以将文件路径或内容传递给webview中的页面,再由webview页面进行上传操作。
3. **调整web站点代码**:
- 如果可能,调整web站点中的文件上传逻辑,使其能够处理从uni-app传递的文件数据(例如通过URL或Base64编码)。
- 这可能需要web站点后端支持接收非标准形式的文件上传请求。
4. **自定义Intent**:
- 在Android中,你可以通过自定义Intent来启动一个文件选择器,该选择器允许用户选择任何类型的文件。
- 捕获选择结果后,你可以将这些文件数据传递给webview中的页面进行上传。
由于你提到的是现成的web站点,并且希望尽可能少地修改web站点代码,因此调整Android原生代码或使用文件选择器插件可能是较为可行的方案。不过,这些方案都需要一定的Android开发知识。
注意,具体实现可能会因uni-app版本、Android系统版本以及web站点的实际情况而有所不同。建议先在开发环境中进行充分测试,确保方案的有效性。
可能的重复: 这个
Lavas 提供了将 PWA 站点打包成安卓 App 的功能,欢迎 前往体验。 背景 由于国内操作系统和浏览器对于 PWA 支持的情况并不乐观,导致可能 PWA 这项技术还是很难被用户所感知到,很多安卓手机需要进行比较麻烦的设置才能在某一些少量的浏览器上打开 添加到桌面 的入口,而且只有少量的浏览器支持 Service Worker。在这种市场环境下,很难有简便的方式将好用的 PWA 体验交给用户
我最近搬家了。NET Web API 2应用程序从Azure云服务到Azure Web应用程序。但是,我们有一个遗留应用程序,需要在端口8080和444上与API通信。 有没有办法在web应用程序上打开其他端口?
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。 DCloud公司拥有600万开发者用户,几十万应用案例、12亿手机端月活用户,数千款uni-app插件、70+微信/qq群。阿里小程序工具官方内置uni-app(详见),腾讯课堂官方
uni-app写H5,打包,放到webview环境下,会出现css资源不存在的问题。 设置为"base": "/h5/", 打包后出现了<link rel="stylesheet" href="/h5/assets/uni.32b16139.css">, 而这个css找不到 希望获得结果:不要引入不存在的css文件
在Flutter中,我使用Flutter webview插件启动一个url:
1. 配置安全域名 需要在小程序的安全域名设置中,添加诸葛域名为安全域名,默认域名为: https://u.zhugeapi.net https://ubak.zhugeio.com 注意:如果通过load函数修改了默认数据上传地址,则需要将修改后的数据上传地址,设置为安全域名。 2. 安装sdk 2.1 在小程序中执行命令安装sdk包 npm install --production zg-sd
现在开发app端使用 uni-app 要选用vue2 还是vue3? 公司现在要开发全新的一个app,但是之前也有一个维护了很久的uni-app + vue2版本很多功能都有;现在是犹豫直接拿原来的app框架重新开发 还是 选择重新用vue3版本来写,但是公司只给了一个月的时间;想问问现在uni-app + vue3坑多吗