文件转换

export const formatNumber = num => {
  var decimalPart = ''
  num = Number(num).toFixed(2)
  num = num.toString()
  if (num.indexOf('.') !== -1) {
    decimalPart = '.' + num.split('.')[1]
    num = parseInt(num.split('.')[0])
  }
  var array = num.toString().split('')
  var index = -3
  while (array.length + index > 0) {
    // 从单词的最后每隔三个数字添加逗号
    array.splice(index, 0, ',')
    index -= 4
  }
  return array.join('') + decimalPart
}

/**
 * 解析url‘拼接参数为对象
 * @param {*} urlString 
 * @returns
 */
 export const parseUrlSearch = urlString => {
  const param = {}
  const urlArray = urlString.split('&')
  urlArray.length && urlArray.forEach(urlValue => {
    const [key, value] = urlValue.split('=')
    param[key] = value
  })
  return param
}

export const getPreviewPdfUrl = url => {
  const xhr = new XMLHttpRequest()
  xhr.open('GET', url, true)
  xhr.responseType = 'blob'
  xhr.onreadystatechange = function () {
      if (xhr.readyState == 4 && xhr.status == 200) {
          const blob = xhr.response;
          const link = window.URL.createObjectURL(blob)
          console.log(link)
          // window.location.href = link
          // window.URL.revokeObjectURL(link)
      }
  }
  xhr.send()
} 

          // Base64字符串转二进制
         function dataURLtoBlob(dataurl) {
            var arr = dataurl.split(','),
                mime = arr[0].match(/:(.*?);/)[1],
                bstr = atob(arr[1]),
                n = bstr.length,
                u8arr = new Uint8Array(n);
            while(n--) {
                u8arr[n] = bstr.charCodeAt(n);
            }
            return new Blob([u8arr], {
                type: mime
            });
        }

        // 二进制Blob转Base64
        function blobToDataURL(blob, callback) {
            var a = new FileReader();
            a.onload = function(e) {
                callback(e.target.result);
            }
            a.readAsDataURL(blob);
            return a;
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容