utils.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. export function toArray(item) {
  2. if (Array.isArray(item)) {
  3. return item;
  4. }
  5. return [item];
  6. }
  7. export function readFile(file, resultType) {
  8. return new Promise(function (resolve) {
  9. if (resultType === 'file') {
  10. resolve(null);
  11. return;
  12. }
  13. var reader = new FileReader();
  14. reader.onload = function (event) {
  15. resolve(event.target.result);
  16. };
  17. if (resultType === 'dataUrl') {
  18. reader.readAsDataURL(file);
  19. } else if (resultType === 'text') {
  20. reader.readAsText(file);
  21. }
  22. });
  23. }
  24. export function isOversize(files, maxSize) {
  25. return toArray(files).some(function (file) {
  26. return file.size > maxSize;
  27. });
  28. }
  29. var IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;
  30. export function isImageUrl(url) {
  31. return IMAGE_REGEXP.test(url);
  32. }
  33. export function isImageFile(item) {
  34. // some special urls cannot be recognized
  35. // user can add `isImage` flag to mark it as an image url
  36. if (item.isImage) {
  37. return true;
  38. }
  39. if (item.file && item.file.type) {
  40. return item.file.type.indexOf('image') === 0;
  41. }
  42. if (item.url) {
  43. return isImageUrl(item.url);
  44. }
  45. if (item.content) {
  46. return item.content.indexOf('data:image') === 0;
  47. }
  48. return false;
  49. }