imageUpload.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // 设置图片上传功能
  2. // 图片上传功能
  3. export function setupImageUpload() {
  4. // 这个函数为未来可能的拖放上传功能预留
  5. // 目前基本的图片上传功能已经在templateRenderer.js中实现
  6. // 未来可以添加:
  7. // 1. 拖放上传
  8. // 2. 图片裁剪
  9. // 3. 图片滤镜
  10. // 4. 图片调整大小
  11. // 示例: 如果添加拖放上传功能
  12. /*
  13. const uploadPreviews = document.querySelectorAll('.upload-preview');
  14. uploadPreviews.forEach(preview => {
  15. preview.addEventListener('dragover', (e) => {
  16. e.preventDefault();
  17. preview.classList.add('drag-over');
  18. });
  19. preview.addEventListener('dragleave', () => {
  20. preview.classList.remove('drag-over');
  21. });
  22. preview.addEventListener('drop', (e) => {
  23. e.preventDefault();
  24. preview.classList.remove('drag-over');
  25. const files = e.dataTransfer.files;
  26. if (files.length > 0 && files[0].type.startsWith('image/')) {
  27. // 找到对应的input元素
  28. const inputId = preview.querySelector('img').id.replace('preview-', 'field-');
  29. const input = document.getElementById(inputId);
  30. if (input) {
  31. // 触发input的change事件
  32. const dataTransfer = new DataTransfer();
  33. dataTransfer.items.add(files[0]);
  34. input.files = dataTransfer.files;
  35. // 手动触发change事件
  36. const event = new Event('change', { bubbles: true });
  37. input.dispatchEvent(event);
  38. }
  39. }
  40. });
  41. });
  42. */
  43. }