|
楼主 |
发表于 2018-12-28 14:53:12
|
显示全部楼层
本帖最后由 lmk123 于 2018-12-28 15:10 编辑
我使用image(html)组件,拍照的时候显示图片,拍照后我把图片放到/UI2/myClassmate目录下,但是这个组件没有属性绑定数据库字段,如何将数据库中的值对应到image中呢?代码如下所示:
Model.prototype.button1_4Click = function(event) {//离线拍照功能
this.demoDB = DemoDB.getInstance();
this.demoDB.initData();
if (!navigator.camera) {
return;
}
var self = this;
navigator.camera.getPicture(onLoadImageSuccess, onLoadImageFail, {
destinationType : navigator.camera.DestinationType.DATA_URL, //选择返回数据的格式
allowEdit : true,
//mediaType : 0,//只选择图片
quality : 80, //存储图像的质量,范围是[0,100]。
//sourceType : 1, //2:从相册中选取照片1为拍照
//allowEdit : true, //是否允许对图片进行编辑
targetWidth : 100, //以像素为单位的图像缩放宽度指定图片展示的时候的宽度
targetHeight : 100, //以像素为单位的图像缩放高度指定图片展示的时候的高度
//cameraDirection: 0, //拍照摄像头选择:0:后置摄像头;
saveToPhotoAlbum : true
//拍完照片后是否将图像保存在设备上的相册
});
var mainData = this.comp("mainData");
//拍照成功后回调
function onLoadImageSuccess(imageData) {
alert("拍照成功" + imageData);
// localStorage.setItem("imageData","data:image/jpeg;base64,"+imageData);//将信息存入localStorage中
var smallImage = document.getElementById(self.getIDByXID('image1'));
var imageData1 = "data:image/jpeg;base64," + imageData;
//显示图像
smallImage.style.display = 'block';
smallImage.src = "data:image/jpeg;base64," + imageData;
var imagesrc = smallImage.src;
mainData.set("enclosure", imagesrc);
mainData.saveData();
//图片上传
self.uploadPic(imageData);
}
function onLoadImageFail(error) {
alert(error);
}
};
//再然后是图片的上传:
//调用bass实现图片上传
Model.prototype.uploadPic = function(imageData) {
//用户信息,用于上传图片后保存图片链接fImage
// alert("用户上传图片文件");
var userid = this._UserID; //this._UserID是自己定义的变量,在页面打开时被初始化
var userBaasData = this.comp("userBaasData");
var storeFileName = "";
var imageJson = {};
storeFileName = justep.UUID.createUUID();
var params = new biz.Request.ActionParam();
params.setString("imageData", imageData);
params.setString("ownerID", userid);
params.setString("storeFileName", storeFileName);
biz.Request.sendBizRequest({
"context" : this.getContext(),
"action" : "uploadPicfile",
"parameters" : params,
"callback" : function(data) {
justep.Util.hint("图片上传成功");
//修改数据库中的图片链接 这里我的字段名叫fImage,可以根据自己的字段名修改
// userBaasData.setFilter("Idfilter", "fID='"+userid+"'");
// userBaasData.refreshData();
// if(userBaasData.getCount()>0){
var fImage = '{"ownerID":"' + userid + '","storeFileName":"' + storeFileName + '"}';
//storeFileName 文件名称
alert("fImage=" + fImage);
mainData.setValue("enclosure", fImage);
mainData.saveData();
// }
}
});
};
|
|