Почему мои файлы не загружаются в Opera Mini?

0

Я работаю над веб-страницей, которая прекрасно работает в большинстве браузеров, но не в Opera Mini. К сожалению, у меня проблемы с загрузкой файла. Я пытался решить это часами. У меня есть этот javascript:

                $("body").append('<form id="opera-mini-uploader" method="POST" enctype="multipart/form-data"><input type="hidden" name="hiddenValues" id="hidden-values" value=""><input type="file" name="src"><input type="submit" id="upload-opera-mini" name="upload-opera-mini" value="upload"></form>');
                $("#opera-mini-uploader").submit(function() {
                    $("#hidden-values").val(JSON.stringify({
                        "product-title": $("#product-title").val(),
                        "product-description": $("#product-description").val(),
                        "category-id": $("#category-id").val(),
                        "product-price": $("#product-price").val(),
                        "varsity": $("#varsity").val(),
                        "campus-of-varsity": $("#campus-of-varsity").val(),
                        "telephone": $("#telephone").val(),
                        "repeat-telephone": $("#repeat-telephone").val(),
                        "iagree": $("#iagree").prop("checked")
                    }));
                });

Он создает форму с вводом файла и обрабатывает submit для сохранения других свойств при загрузке файла. Свойства сохраняются красиво, но файл не загружается... Форма появляется в конце тела, когда я выбираю файл и пытаюсь его загрузить, он не выполняется. Я не вижу ошибок, но файл также не загружается. Мой вопрос: что я делаю неправильно? Как мне реализовать загрузку файла, чтобы на самом деле иметь некоторые файлы на сервере? Загрузка файлов работает для других браузеров, но здесь я создал для них отдельную версию, потому что Opera Mini не может выполнять свои причудливые функции.

  • 0
    $_FILE вашего PHP-файла пуст?
  • 0
    У меня есть if-else, использующий fRequest :: isPost () от flourishlib. Если это правда, я проверяю $ _FILE, и если у него есть элемент «src», то изображение обрабатывается. Он прекрасно работает для других браузеров, но для Opera Mini его даже нет, однако я знаю, что сообщение было успешным, потому что мои сохраненные значения повторно вводятся и автоматически проверяются после нажатия кнопки загрузки.
Теги:
file-upload
post
opera-mini

1 ответ

0

После долгого эксперимента, я нашел ответ:

$("body").append('<form id="opera-mini-uploader" method="POST" enctype="multipart/form-data"><input type="hidden" name="hiddenValues" id="hidden-values" value=""><input type="file" name="src"><input type="submit" id="upload-opera-mini" name="upload-opera-mini" value="upload"></form>');

Приведенный выше код создает form, но событие submit не будет привязано к ней. Вместо этого поколения я решил протестировать его, добавив его как HTML, например:

<form id="opera-mini-uploader" method="POST" enctype="multipart/form-data"><input type="hidden" name="hiddenValues" id="hidden-values" value=""><input type="file" name="src"><input type="submit" id="upload-opera-mini" name="upload-opera-mini" value="upload"></form>

и он работал как шарм без дополнительных изменений.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню