将相机与 XPages 移动控件一起使用
Using the camera with the XPages Mobile Controls
在我的 XPages Mobile Controls singlePageApp 中,我想为用户提供一个界面来上传新照片或从他们 phone 上的照片库中选择现有照片。我正在使用以下代码:
<xp:fileUpload id="fileUpload1" value="#{document1.CapturedImage}" useUploadname="false"
filename="camerasnap.png" accept="image/*">
</xp:fileUpload>
当用户选择从他们添加到主屏幕的图标(即独立模式)启动我的移动应用程序时,以上内容运行良好。
但是,如果他们在点击文件上传到 "Choose File" 时从移动网络浏览器(即网络应用程序模式)启动,他们可以尝试拍照或 select 现有照片,但他们始终返回到 [选择文件] 按钮旁边带有 "no file selected" 的页面。
如何为我的 Web 应用程序模式用户启用 camera/photo selection...即大多数用户?
这是 XControls 1.5 Sampler 的修改版本:
<xp:fileUpload id="fileUpload1" styleClass="fileInput"
style="position:absolute;
width:100%;
min-height: 182px;
opacity:0;"
value="#{document1.CapturedImage}"
useUploadname="false"
filename="camerasnap.png"
accept="image/*">
<xp:this.attrs>
<xp:attr name="accept"
value="image/*">
</xp:attr>
<xp:attr name="type"
value="file">
</xp:attr>
<xp:attr name="capture"
value="camera">
</xp:attr>
<xp:attr name="onchange">
<xp:this.value><![CDATA[
var file = event.target.files[0];
unp.photoUploader.loadImage(file);
]]></xp:this.value>
</xp:attr>
</xp:this.attrs>
</xp:fileUpload>
尝试使用 <xp:attr>
添加浏览器对象元素属性。干杯。
解决方案是将 fileUpload 放在单独的 XPage 上,然后在 appPage 的 iframe 中获取它。
dominoguru Chris Toohey 在博客 post 中非常雄辩地展示了这里的随附视频:
http://www.dominoguru.com/page.xsp?id=xpage_fileupload_extlib_dialog_tutorial.html
在我的 XPages Mobile Controls singlePageApp 中,我想为用户提供一个界面来上传新照片或从他们 phone 上的照片库中选择现有照片。我正在使用以下代码:
<xp:fileUpload id="fileUpload1" value="#{document1.CapturedImage}" useUploadname="false"
filename="camerasnap.png" accept="image/*">
</xp:fileUpload>
当用户选择从他们添加到主屏幕的图标(即独立模式)启动我的移动应用程序时,以上内容运行良好。
但是,如果他们在点击文件上传到 "Choose File" 时从移动网络浏览器(即网络应用程序模式)启动,他们可以尝试拍照或 select 现有照片,但他们始终返回到 [选择文件] 按钮旁边带有 "no file selected" 的页面。
如何为我的 Web 应用程序模式用户启用 camera/photo selection...即大多数用户?
这是 XControls 1.5 Sampler 的修改版本:
<xp:fileUpload id="fileUpload1" styleClass="fileInput"
style="position:absolute;
width:100%;
min-height: 182px;
opacity:0;"
value="#{document1.CapturedImage}"
useUploadname="false"
filename="camerasnap.png"
accept="image/*">
<xp:this.attrs>
<xp:attr name="accept"
value="image/*">
</xp:attr>
<xp:attr name="type"
value="file">
</xp:attr>
<xp:attr name="capture"
value="camera">
</xp:attr>
<xp:attr name="onchange">
<xp:this.value><![CDATA[
var file = event.target.files[0];
unp.photoUploader.loadImage(file);
]]></xp:this.value>
</xp:attr>
</xp:this.attrs>
</xp:fileUpload>
尝试使用 <xp:attr>
添加浏览器对象元素属性。干杯。
解决方案是将 fileUpload 放在单独的 XPage 上,然后在 appPage 的 iframe 中获取它。
dominoguru Chris Toohey 在博客 post 中非常雄辩地展示了这里的随附视频:
http://www.dominoguru.com/page.xsp?id=xpage_fileupload_extlib_dialog_tutorial.html