base64图片格式字符流上传后台服务器

base64图片格式字符流上传后台服务器

格式:

let dataUrl = data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABPoAAAEVCAYAAAB5UItcAAAAAXNSR0IArs4c6QAAIABJREFUeF7svV2sbctVHjjXz95nn3Pt4wsk6oeIVjqJBC80Im6k..............

//转化方法:
DataURIToBlob( dataUrl ) {
  const splitDataURI = dataURI.split(',')
  const byteString = splitDataURI[0].indexOf('base64') >= 0 ? atob(splitDataURI[1]) : decodeURI(splitDataURI[1])
  const urlString = splitDataURI[0].split(':')[1].split(';')[0]
  const flow = new Uint8Array(byteString.length)
  for (let i = 0; i < byteString.length; i++)
   flow[i] = byteString.charCodeAt(i)
  return new Blob([flow], { type: urlString  })
},
//上传服务器
Submit () {
  const file = this.DataURIToBlob( dataUrl )
  const formData = new FormData();
  formData.append('file', file, 'image.jpg') 
  this.$post('https://xxx.xxx.com', formData
  ).then(res => {
    console.log(res);
  })
}

效果
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在ThinkPHP框架中,将Base64编码的图片转换为二进制数据并上传服务器通常涉及以下几个步骤: 1. 获取Base64编码的图片数据: 首先,从用户提交的数据中获取Base64编码的图片内容,这通常是在表单字段或API请求体中的一个键值对。 ```php $base64Image = $_POST['image_base64']; // 假设这是用户提交的Base64字符串 ``` 2. 解码Base64: 使用PHP内置的`base64_decode`函数将字符串解码为二进制数据。 ```php $binaryImage = base64_decode($base64Image); ``` 3. 创建临时文件: 为了上传服务器,需要先将解码后的二进制数据写入一个临时文件,以便后续处理。 ```php $uploadDir = 'path/to/your/upload/directory'; // 定义上传目录 $tempFile = tempnam($uploadDir, 'img'); // 创建临时文件名 file_put_contents($tempFile, $binaryImage); // 写入二进制数据到临时文件 ``` 4. 配置上传参数: 设置上传配置,比如文件类型、大小限制等。在ThinkPHP的配置文件或控制器中,你可以配置上传器。 ```php // 在控制器或ThinkPHP的配置文件中 $config = [ 'max_size' => '10M', // 设置最大上传大小 'save_path' => $uploadDir, // 上传文件保存路径 ]; $uploader = new \Think\Upload\Upload($config); // 初始化上传器 ``` 5. 上传文件: 调用上传器的`upload()`方法,将临时文件上传服务器。 ```php $uploadInfo = $uploader->upload($tempFile); // 上传文件到指定路径 if ($uploadInfo['code'] === 0) { // 成功上传,$uploadInfo['file']['url']会返回上传文件的URL $filePath = $uploadInfo['file']['url']; } else { // 处理上传失败 echo "上传失败: " . $uploadInfo['message']; } ``` 6. 删除临时文件(可选): 为了保持服务器空间整洁,一般在上传成功后删除临时文件。 ```php unlink($tempFile); // 如果不需要保留临时文件,这里删除 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值