文件转成binary流

这段代码展示了如何利用FileReader读取文件并用axios进行POST上传,同时配置了Authorization头和Content-Type头,确保文件以multipart/form-data格式发送。
	var reader = new FileReader();
    reader.readAsArrayBuffer(file)
    reader.onload = function(e) {
    //如果文件需要参数
    //const formdata=new FormData()
    //formdata.append('file',e.target.result)
      axios.post(url, e.target.result, {
        headers: {
          'Authorization': 'Bearer ' + window.localStorage.token,
          'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'
        }
      }).then(res=>{
  
      })
    }
在不同的开发环境中,将图片文件转换成二进制有不同的实现方式,以下分别介绍在 Android 和 Python 中的实现方法。 ### Android 中图片文件转换为二进制 在 Android 开发里,可借助 `Bitmap` 与 `ByteArrayOutputStream` 把图片文件转换为二进制。示例代码如下: ```java import android.graphics.Bitmap; import android.graphics.BitmapFactory; import java.io.ByteArrayOutputStream; import java.io.File; public class ImageToBinary { public static byte[] convertImageToBinary(String filePath) { // 从文件路径获取 Bitmap File imageFile = new File(filePath); Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath()); // 创建 ByteArrayOutputStream 用于存储二进制数据 ByteArrayOutputStream stream = new ByteArrayOutputStream(); // 将 Bitmap 压缩为 PNG 格式并写入 bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); // 获取二进制数据 byte[] byteArray = stream.toByteArray(); try { // 关闭 stream.close(); } catch (Exception e) { e.printStackTrace(); } return byteArray; } } ``` 调用方式如下: ```java String filePath = "/sdcard/image.png"; byte[] binaryData = ImageToBinary.convertImageToBinary(filePath); ``` ### Python 中图片文件转换为二进制 在 Python 里,能够使用 `open` 函数以二进制读取模式打开图片文件,进而将其转换为二进制。示例代码如下: ```python def convert_image_to_binary(file_path): try: with open(file_path, 'rb') as file: binary_data = file.read() return binary_data except FileNotFoundError: print(f"文件 {file_path} 未找到。") return None # 使用示例 file_path = 'image.png' binary_data = convert_image_to_binary(file_path) if binary_data: print("图片已成功转换为二进制。") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值