资讯专栏INFORMATION COLUMN

小程序图片上传 wx.uploadFile 后台java PHP两个版本

nanchen2251 / 1825人阅读

摘要:上传图片前台选择图片并把临时地址上传后台,后台把图片上传至自己的服务器,以下是上传图片的方法,有后台是的还有的,如有疑问或不解,请留言。前端定义添加图片的点击点。

上传图片:前台选择图片并把临时地址上传后台,后台把图片上传至自己的服务器,以下是上传图片的方法,有后台是java的还有PHP的,如有疑问或不解,请留言。

前端:

wxml:+//定义添加图片的点击点。

js:

addTeamImage: function () {      //对应wxml的点击事件

var that = this;

wx.chooseImage({    //选择图片

count: 1,

success: function (res) {    //选择图片成功

var tempFilePaths = res.tempFilePaths; //图片临时地址

that.setData({defaultHead: tempFilePaths[0]  });

wx.uploadFile({     //上传图片

url: saveRunteamImgUrl,    //后台上传图片的方法地址

filePath: tempFilePaths[0],    //上传图片的临时地址

name: "file",      //文件格式 

success: function (res) {    //上传成功

let obj = JSON.parse(res.data)      //返回值是json格式转化成object

that.setData({

teamHeadUrl: obj.data     //将返回的图片服务器地址保存在变量中

})

if (obj.data == "error") {     //后台的上传方法出现问题

wx.showToast({ title: "图片上传失败,请重试!", icon: "none", duration: 2000 })

that.setData({ teamHeadUrl: "" })

}},

})},

fail: function (res) {     //图片上传失败

that.setData({ teamHeadUrl: "" })

}})},

java后台:

ImageController.java

package com.th.controller;
//引入文件
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.Map;

/**

Created by wanglimin on 2019/1/31.

*/

@RestController
@RequestMapping("/image")
public class ImageController extends BaseController { //声明上传图片类文件

@ResponseBody
@RequestMapping(value = "/uploadImage", method = RequestMethod.POST,produces = "application/json")
public Map uploadImage(HttpServletRequest request) throws IOException {
    MultipartHttpServletRequest req =(MultipartHttpServletRequest)request;
    MultipartFile multipartFile =  req.getFile("file");

    String realPath = "https://www.***.com/image";//服务器存放图片地址
        try {
        File dir = new File(realPath);
        if (!dir.exists()) {
            dir.mkdir();
        }
        String newPath = System.currentTimeMillis()+""+(int)(1+Math.random()*(10000-1+1))+".jpg";//图片名称是毫秒数加1-10000的随机数
        File file  =  new File(realPath,newPath);
        multipartFile.transferTo(file);
        return rtnParam(0,file.getPath());    // 返回图片上传到服务器上的地址
    } catch (IOException e) {
        e.printStackTrace();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    }

    return rtnParam(0,"error");     //方法错误   rtnParam是继承base类中的方法
}

}

BaseController.java

public class BaseController {

private Map errorCodeMap;

protected Map rtnParam(Integer errorCode, Object data) {
    errorCodeMap = new HashMap();
    errorCodeMap.put("errorCode", errorCode);
    errorCodeMap.put("data", data);
    return errorCodeMap;
}

}

PHP后台

namespace ApiController;
use ThinkUpload;
use ThinkPage;
use ThinkController;
/**
 *
 * 客户端接口唯一入口
 * @author Administrator
 *
 */
class DefaultPostController extends Controller {   //注:前台的上传图片连接后台地址改:"https://*.com/api/defaultPost"’
    public function index(){
        if(IS_POST){
            $obj = new ThinkUpload();// 实例化上传类
            $obj->maxSize = 2048000 ;// 设置附件上传大小
            $obj->savePath ="/runteam/"; // 设置附件上传目录
            $obj->exts =  array("jpg","jpeg","gif","png");// 设置附件上传类型
            $obj->saveName = array("uniqid","");//文件名规则
            $obj->replace = true;//存在同名文件覆盖
            $obj->autoSub = false;//使用子目录保存
            // 上传文件 gb
            $info =  $obj->upload();
            $file = $info["file"];
            $return = $file["savepath"].$file["savename"];
            
            header("Content-Type:application/json; charset=utf-8");
            exit(json_encode($return));  //返回服务器图片地址
        }
    }

}
获取更多文章,请关注公众号。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31454.html

相关文章

  • 程序图片上传 wx.uploadFile 后台java PHP两个版本

    摘要:上传图片前台选择图片并把临时地址上传后台,后台把图片上传至自己的服务器,以下是上传图片的方法,有后台是的还有的,如有疑问或不解,请留言。前端定义添加图片的点击点。 上传图片:前台选择图片并把临时地址上传后台,后台把图片上传至自己的服务器,以下是上传图片的方法,有后台是java的还有PHP的,如有疑问或不解,请留言。 前端: wxml:+//定义添加图片的点击点。 js: addTeam...

    since1986 评论0 收藏0
  • 程序图片上传 wx.uploadFile 后台java PHP两个版本

    摘要:上传图片前台选择图片并把临时地址上传后台,后台把图片上传至自己的服务器,以下是上传图片的方法,有后台是的还有的,如有疑问或不解,请留言。前端定义添加图片的点击点。 上传图片:前台选择图片并把临时地址上传后台,后台把图片上传至自己的服务器,以下是上传图片的方法,有后台是java的还有PHP的,如有疑问或不解,请留言。 前端: wxml:+//定义添加图片的点击点。 js: addTeam...

    sunny5541 评论0 收藏0
  • 微信程序学习与wepy框架的使用详解

    摘要:,至此咱们的微信小程序的简单使用及了解算是分享完了,毕竟个人也是道行有限,没有钻研太深,这些只是本人在实际项目开发过程中用到和总结的经验,有太多不足或不对的地方,希望大家多多给予指出与改正,咱们一起来共同学习与进步 微信小程序是一种不需要下载安装即可使用的应用,在国内它在企业推广中的受欢迎度以及就这两年的使用及普及热度,然而就是因为它的备受欢迎度以及越来越被企业所重视,也就形成了咱们开...

    sf190404 评论0 收藏0
  • 微信程序学习与wepy框架的使用详解

    摘要:,至此咱们的微信小程序的简单使用及了解算是分享完了,毕竟个人也是道行有限,没有钻研太深,这些只是本人在实际项目开发过程中用到和总结的经验,有太多不足或不对的地方,希望大家多多给予指出与改正,咱们一起来共同学习与进步 微信小程序是一种不需要下载安装即可使用的应用,在国内它在企业推广中的受欢迎度以及就这两年的使用及普及热度,然而就是因为它的备受欢迎度以及越来越被企业所重视,也就形成了咱们开...

    stormjun 评论0 收藏0
  • 微信程序学习与wepy框架的使用详解

    摘要:,至此咱们的微信小程序的简单使用及了解算是分享完了,毕竟个人也是道行有限,没有钻研太深,这些只是本人在实际项目开发过程中用到和总结的经验,有太多不足或不对的地方,希望大家多多给予指出与改正,咱们一起来共同学习与进步 微信小程序是一种不需要下载安装即可使用的应用,在国内它在企业推广中的受欢迎度以及就这两年的使用及普及热度,然而就是因为它的备受欢迎度以及越来越被企业所重视,也就形成了咱们开...

    xiao7cn 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<