Safari игнорирует ввод type = "file" на сервере - PullRequest
1 голос
/ 01 апреля 2010

У меня реальная проблема с классической страницей ASP. Страница позволяет пользователю загрузить документ и сохранить его в базе данных. Начальная страница отправляется на другую страницу asp, которая сохраняется в БД. Это работает на IE и Firefox. Однако на Safari это не удается. Я отладил проблему, и она сводится к тому, что из всех элементов управления, к которым имеет доступ страница сервера, отсутствует только один элемент управления. Это происходит так:

<input type="file" size="40" id="myfile" name="myfile" />

Поэтому мне интересно, почему safari решил не предоставлять мне доступ к этому элементу управления (используя запрос asp ("")) и почему он работает в FF и IE. У меня есть некоторый отладочный код, который записывает все элементы управления, и он не видит этот элемент управления.

p.s. Я ненавижу веб-разработку

Ответы [ 3 ]

1 голос
/ 02 апреля 2010

Правильно ли вы устанавливаете атрибут ENCTYPE в своей форме? Если у вас есть загрузка файлов, я думаю, что это должно быть что-то вроде

<form action="/my/form/processor.asp" enctype="multipart/form-data" method="post">

Я думаю, что по умолчанию enctype application / x-www-form-urlencoded , который, очевидно, работает для большинства других браузеров, но, очевидно, Safari требует, чтобы он был установлен правильно.

0 голосов
/ 19 января 2012

У меня была похожая проблема, когда постбэк работал во всех браузерах, кроме сафари.

Я удалил method = "post" из тега "form", и все заработало нормально.

0 голосов
/ 01 апреля 2010

Я получаю то же самое в Safari 4.0.5. Я разрабатываю в Coldfusion, и простая отправка бланков на страницу обработки работает во всех основных браузерах, кроме Safari. Моя страница обработки не работает, так как поле формы "файл" пусто, поэтому серверу нечего загружать: O (

...