2017-01-07 8 views
0

У меня есть вопрос, что я не смог найти удовлетворительный ответ.Ссылка на файл, которая еще не вставлена ​​

У меня есть экран «Добавить продукт», этот продукт имеет ноль или много изображений. На этом же экране есть опция загрузки.

Мой вопрос: как я могу загружать изображения в продукт, если у меня еще нет его идентификатора? поскольку он еще не сохранен в базе данных.

Есть ли какая-либо передовая практика для этой ситуации?

Заранее спасибо

ответ

0

Я просто листинг вниз мои пункты о том, как справиться с этим:

  1. Ручка и сразу - послать изображение и детали продукта сразу при сохранении/add button click using enctype=”multipart/form-data” (Использование spring)
    • Теперь вы можете обращаться в своем коде. Выполните проверки.
    • Если он проходит все проверки, загрузите изображение/сохраните изображение.
    • Отправьте URL-адрес/путь к объекту/БД, где продукт будет сохранен.
    • Минус:
      • Say пользователь загрузил файлы и заполняют сведения о продукте. В этом случае мы все еще ожидаем ввода пользователем всех деталей продукта, а затем загрузки.
      • Окончательная загрузка во время сохранения займет некоторое время. (Второй вариант может преодолеть это)
  2. Загрузить изображения первых, как в том, когда они доступны, а затем продукт при сохранении -
    • Загрузите изображение первого на сервер (как в том, когда пользователь добавляет изображение, продолжает загружать).
    • Позвольте серверу сохранить все эти изображения в временном месте и вернуть номер UUID, чтобы однозначно идентифицировать эти изображения.
    • В процессе сохранения/добавления клиент отправляет все эти списки UUID, которые он получил от сервера во время загрузки. Теперь сервер может определить, какие изображения можно переместить из временного каталога обратно на центральный сервер или связать изображения с продуктом.
    • Вы можете иметь другой Cron Job или SessionTimeoutListener или вызов от клиента, когда пользователь аннулирует из Страницы продукта без сохранения или сочетания всех 3, чтобы удалить те изображения, которые не связаны с каким-либо продуктом для сказать последние X минут (тайм-аут сеанса минут)
    • Drawback:
      • требует много изменений и постобработки/накладные расходы по очистке.
  3. Ручка продукта первой затем Image -
    • детали Нажмите продукт первым на сервер на сохранение и сервер возвращает ProductID, который был сохранен.
    • Теперь клиент делает еще один звонок на сервер с productId и изображениями.
    • Минус:
      • Мы рассчитываем на клиенте для обработки транзакций, что это плохо.
      • Несоответствие данных может увеличиваться.
      • Время, затраченное на весь процесс, может расти по сравнению с другими 2 подходами.

PS: Я чувствую, второе мнение, чтобы быть хорошим. Это только мое мнение.

 Смежные вопросы

  • Нет связанных вопросов^_^