Я пытаюсь отправить XML-файл в составную HTML-форму, он не работает, и я не могу понять, в чем проблема. Похоже, что ColdFusion просто не передает файл. Я попытался опубликовать в нужную форму, а также на тестовую страницу, на которую выводятся запросы, и все, что происходит, - это поля формы.
Вот соответствующая часть моего кода:
<cfhttp url="#endPoint#" method="post" multipart="yes">
<cfhttpparam type="formField" name="file_name" value="test.xml">
<cfhttpparam type="formField" name="user_name" value="test">
<cfhttpparam type="formField" name="password" value="test">
<cfhttpparam type="file" name="test.xml" file="#localfile#">
</cfhttp>
Я могу подтвердить, что endPoint указывает на действительный URL-адрес, имена / значения formField действительны и что test.xml действительно существует в месте, указанном в localfile.
Предложения? Любой вклад будет оценен!
Дополнительная информация: Я нахожусь на CF MX 6.1, если это имеет значение.
РЕДАКТИРОВАТЬ: После просмотра ввода ниже, я провел еще несколько испытаний.
Я могу подтвердить, что локальный файл является абсолютным путем (C: \ path_to_my_files \ test.xml).
Я не уверен, на чем работает целевая форма. Не знаю точно, но я не думаю, что это ColdFusion.
Я создал свою собственную тестовую страницу HTTP с помощью GetHTTPRequestData (), как упомянуто ниже, и я думаю, что это работает нормально, хотя выглядит немного странно для меня. Запись содержимого GetHTTPRequestData (). В файл позволяет мне увидеть, что я пытаюсь отправить. Тем не менее, окончательная форма все еще сообщает, что я не включаю файл. Posttestserver.com также сообщает об отсутствии файла. Я включил результаты, полученные как с моей страницы, так и с сервера тестирования POST ниже.
Результат моей тестовой страницы:
-------------------------------7d0d117230764
Content-Disposition: form-data; name="file_name"
Content-Type: text/plain; charset=UTF-8
test.xml
-------------------------------7d0d117230764
Content-Disposition: form-data; name="user_name"
Content-Type: text/plain; charset=UTF-8
test
-------------------------------7d0d117230764
Content-Disposition: form-data; name="password"
Content-Type: text/plain; charset=UTF-8
test
-------------------------------7d0d117230764
Content-Disposition: form-data; name="test.xml"; filename="C:\my_files\test.xml"
Content-Type: text/xml
%3C%3Fxml%20version%3D%221%2E0%22%20encoding%3D%22UTF%2D8%22%20%3F%3E%3CjobFeed%3E%3Cjob%3E%3CjobId%3E1234%3C%2FjobId%3E%3CjobTitle%3ETest%20Job%3C%2FjobTitle%3E%3CjobCity%3ETest%20City%3C%2FjobCity%3E%3CjobState%3ETest%20State%3C%2FjobState%3E%3CjobDescription%3ETest%20Description%3C%2FjobDescription%3E%3CjobZip%3E12345%3C%2FjobZip%3E%3CjobUrl%3Ehttp%3A%2F%2Fwww%2Etest%2Ecom%3C%2FjobUrl%3E%3CJobType%3ETEC%3C%2FJobType%3E%3C%2Fjob%3E%3C%2FjobFeed%3E
-------------------------------7d0d117230764--
Понятия не имею, что это за дело "------------------------------- 7d0d117230764".
Вот что я получил с тестовой площадки:
Headers (Some may be inserted by server)
UNIQUE_ID = TlZTra3sqvkAAECsSBsAAAAL
HTTP_HOST = www.posttestserver.com
HTTP_CONNECTION = close
HTTP_USER_AGENT = ColdFusion
HTTP_ACCEPT_ENCODING = deflate, gzip, x-gzip, compress, x-compress
CONTENT_TYPE = multipart/form-data; boundary=-----------------------------7d0d117230764
CONTENT_LENGTH = 1159
GATEWAY_INTERFACE = CGI/1.1
REQUEST_METHOD = POST
QUERY_STRING =
REQUEST_URI = /post.php
REQUEST_TIME = 1314280365
Post Params:
key: 'file_name' value: 'test.xml'
key: 'user_name' value: 'test'
key: 'password' value: 'test'
== Begin post body ==
== End post body ==
Здесь, кажется, я не передал файл.
Я все еще смотрю на это, но не вижу проблемы. Идеи?