技术咨询:SurveyJS是否支持在问卷内直接拍摄照片?
SurveyJS 移动端直接调用相机上传照片
要实现点击文件选择按钮时直接调用相机拍摄并上传照片,无需打开文件管理器,可以通过给SurveyJS的文件上传组件添加HTML5原生的capture和accept属性来实现,具体操作如下:
代码配置方式
在定义Survey模型时,给file类型的问题添加inputAttributes配置,指定图片类型和相机调用规则:
const survey = new Survey.Model({ elements: [ { type: "file", name: "camera_photo", title: "拍摄照片上传", inputAttributes: { accept: "image/*", // 限制仅接受图片文件 capture: "environment" // 调用后置摄像头,使用"user"可调用前置 } } ] });
可视化编辑器配置方式
如果使用SurveyJS的可视化编辑器创建问卷:
- 添加一个「文件上传」问题
- 切换到「高级」选项卡
- 在「输入属性」区域添加两组键值对:
- 键:
accept,值:image/* - 键:
capture,值:environment(或user)
- 键:
这种方式利用HTML5原生API,主流移动端浏览器(Chrome、Safari等)都支持,点击上传按钮时会直接唤起相机,拍摄完成后照片会自动作为文件上传至SurveyJS的处理流程中。
内容的提问来源于stack exchange,提问作者G. Maesele
相关产品推荐
相关产品推荐

