index.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /**
  2. * 存储值格式化
  3. * @param {number} size
  4. * @param {boolean} status
  5. * @returns {string} 存储值(带单位)
  6. */
  7. const storageTrans = (size, status) => {
  8. const B = 1024
  9. const KB = Math.pow(1024, 2)
  10. const MB = Math.pow(1024, 3)
  11. const GB = Math.pow(1024, 4)
  12. if (status) {
  13. // 截取整数部分
  14. if (!size) {
  15. return 0 + 'KB'
  16. } else if (size < KB) {
  17. return (size / B).toFixed(0) + 'KB'
  18. } else if (size < MB) {
  19. return (size / KB).toFixed(0) + 'MB'
  20. } else if (size < GB) {
  21. return (size / MB).toFixed(0) + 'GB'
  22. } else {
  23. return (size / GB).toFixed(0) + 'TB'
  24. }
  25. } else {
  26. if (!size) {
  27. return 0 + 'KB'
  28. } else if (size < KB) {
  29. return (size / B).toFixed(0) + 'KB'
  30. } else if (size < MB) {
  31. return (size / KB).toFixed(2) + 'MB'
  32. } else if (size < GB) {
  33. return (size / MB).toFixed(3) + 'GB'
  34. } else {
  35. return (size / GB).toFixed(4) + 'TB'
  36. }
  37. }
  38. }
  39. /**
  40. * 文件名称拼接,包括文件名称 + 文件后缀
  41. * @param {object} file 文件信息
  42. * @returns {string} 完整文件名称
  43. */
  44. const fileNameComplete = (file) => {
  45. return (
  46. file.fileName +
  47. (file.isDir === 0 && file.extendName ? `.${file.extendName}` : '')
  48. )
  49. }
  50. export { storageTrans, fileNameComplete }