h5调取移动端摄像头拍照或者上传

<input type="file" onchange="upload(this,'2')" name="photo"
                                              accept="image/gif,image/jpeg,image/jpg,image/png,image/bmp"
                >
  //图片上传
    function upload(file, choose) {
        var formData = new FormData();
        formData.append("file", file.files[0]);
        alert(formData)
        alert(file.files[0])
        $.ajax({
            url: "/yunemao-web-home/f/home/register/license",
            type: 'POST',
            data: formData,
            processData: false,// 告诉jQuery不要去处理发送的数据
            contentType: false,// 告诉jQuery不要去设置Content-Type请求头
            beforeSend: function () {

            },
            complete: function () {

            },
            success: function (res) {
                if (res.status == 0) {
                    var data = res.object;

                    $.ajax({
                        type: "POST",
                        url: ctx + "/SupervisionOrder/savePhoto",
                        data: {
                            "filePath": data.filePath,
                            "fileName": data.fileName,
                            "fileSize": data.fileSize,
                            "fid": $("#FID").val(),
                            "FBillNo": $("#FBillNo").val()
                        },
                        dataType: "json",
                        async: true,  //同步
                        cache: false,  //不缓存
                        success: function (data) {
                            alert("图片上传完毕" + data)
                            var html = '';
                            html += ' <li>'
                            html += '<div class="aui-wid30"><a href=""><i class="aui-iconfont"><img style="width: 20px;height: 20px" src="' + data.filePath + '"></i></a></div>'
                            if (choose === "1") {
                                alert("出货产品图片")
                                html += '<div class="aui-wid50">出货产品图片</div>'
                            }
                            if (choose === "2") {

                                alert("出货车辆图片")
                                html += '<div class="aui-wid50">出货车辆车牌</div>'
                            }
                            html += '<div class="aui-wid20">删除</div>';
                            html += '</li>'
                            $("#card-list").append(html)

                        }
                    });
                }
            }
        });
    }
  * 文件上传
     *
     * @param file
     * @return
     * @throws Exception
     */
    @ResponseBody
    @RequestMapping(value = "license")
    public ResponseMessage license(@RequestParam("file") MultipartFile file) throws Exception {
        Map<String, Object> map = new HashMap<>();
        if (file.isEmpty() || file.getSize() <= 0) {
            return new ResponseMessage("1", "文件错误");
        } else {
            Double dSize = file.getSize() / 1024d;
            String fileSize = String.format("%.2f", dSize);
            map.put("fileSize", fileSize);
            String fileOriginalFilename = file.getOriginalFilename();
            int index = fileOriginalFilename.lastIndexOf(".");
            String fileOldName = fileOriginalFilename.substring(0, index);
            map.put("fileName", fileOldName);
            String suffix = fileOriginalFilename.substring(index + 1);
            String filePath = BdFileUpload.uploadFiles(file, suffix);
            map.put("filePath", filePath);
        }
        return new ResponseMessage("0", "上传成功", map);
    }

    /**
     * 文件上传
     *
     * @param multipartFile
     * @param suffix
     * @return
     * @throws IOException
     */
    public static String uploadFiles(MultipartFile multipartFile, String suffix) throws IOException {
        String filePath = FastDFSClientUtils.upload(multipartFile.getBytes(), suffix);
        return getFilePrefix() + filePath;
    }
  
    /**
     * <B>方法名称:</B>上传方法<BR>
     * <B>概要说明:</B><BR>
     * @param data 数据
     * @param extName 扩展名
     * @return 上传成功返回id,失败返回null
     */
    public static String upload(byte[] data, String extName) {
        TrackerServer trackerServer = null;
        StorageServer storageServer = null;
        StorageClient1 storageClient1 = null;
        try {
            NameValuePair[] meta_list = null; // new NameValuePair[0];
            
            trackerServer = trackerClient.getConnection();
            if (trackerServer == null) {
                logger.error("getConnection return null");
            }
            storageServer = trackerClient.getStoreStorage(trackerServer);
            storageClient1 = new StorageClient1(trackerServer, storageServer);
            String fileid = storageClient1.upload_file1(data, extName, meta_list);
            return fileid;
        } catch (Exception ex) {
            logger.error(ex);
            return null;
        }finally{
            if (storageServer != null){
                try {
                    storageServer.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (trackerServer != null){
                try {
                    trackerServer.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            storageClient1 = null;
        }
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mcxiaochi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值