native.js上传图片至服务器

大概流程逻辑为:

1.拍照或者相册选择图片后,返回图片路径

2.利用该路径addFile,传到写好的后台接口

3.后台获取文件进行操作

4.前端请求上传后的地址路径

注意:mui里,图片不能省略http协议。

 

前端上传图片:

//上传图片至服务器
function upload(filePath){
		var task = plus.uploader.createUpload( "后台获取上传图片的地址.php", 
		{ method:"POST",blocksize:204800,priority:100 },
		function ( t, status ) {
			// 上传完成
			if ( status == 200 ) { 
				console.log("上传成功");
				//上传成功后的逻辑
			} else {
				alert( "上传失败");
			}
		}
	);
	/*
		添加文件路径,文件键值;
		文件路径filePath : 调起手机拍照或者在相册选择时,返回的路径
		文件键值key:后台$_FILES['carmerphoto']匹配的文件名字
	*/
	task.addFile( filePath, {key:"carmerphoto"} );
	task.start();
}

后台接收图片(php):

  public function upload_photo(){
    $upload = new \Think\Upload(); //实例化图片方法
    $upload->maxSize = 52428800; //文件大小限制
    $upload->rootPath = './data/upload/'; //根目录路径
    $upload->exts = array('png','jpe','jpeg','jpg','JPEG','bmp','gif'); //图片格式
    $upload->savePath = 'image/carmer/'; //保存路径
    $datas = $upload->uploadOne($_FILES['carmerphoto']);  //carmerphoto为前端发送时定义的key值
    //保存图片路径
    $absolute_path = $datas['savepath'].$datas['savename'];  
    
    if(!$datas){
    $this->backto(1,$upload->getError());
    }else{
    $this->backto(0,$upload->getError(),$datas);
    }
  }

 

你可能感兴趣的:(app)