APICloud、appCan、DCloud、H5 plus 等等之类的技术,都是一种 Hybird 方案,原理是通过 Native 与 Web 通信,甚至是通过 bulid 将 Web 部分组件 Native 化来实现的 Native App 的一种技术。其实这才是他们的本质,而他们的服务端技术,我这里保留我的意见,暂不评论。
首先为什么用一个技术方案,你要综合调研,仔细了解一下。
上传图片输入 URL,这个 URL 也只是一个资源定位符,Hybird 方案中的图片应该是本地的或插件中特定文件路径内的图片,或者原理是先下载到本地,再通过 API 上传。这是 Native App 本身的能力,不是 Web 浏览器所具备的。
LeanCloud 与他们不同,我们重点在于提供后端接口和纯 Native SDK(JavaScript SDK、iOS SDK、Andriod SDK、C++ SDK、Windows Phone SDK 等等)。
所以,回到上传这个问题,LeanCloud 提供了上传接口,这个接口支持多种数据格式,你可以调研,并尝试通过对应的方式调用。如果是 iOS App 那可以通过下载图片,然后再从本地上传也可。但是纯 Web 抓取图片上传的功能我们暂时没有,而且这个功能提供了可能会有被图片商屏蔽、甚至起诉的风险。浏览器的限制我们也是突破不了的,比如浏览器读本地文件需要授权、特定文件等,可以参考 HTML5 File 相关标准文档。