2016-03-24 11 views
-1

Я хочу поместить файл (file.img) в качестве содержимого данных POST, так что если файл находится в той же папке, что и скрипт, то $req->content(file.img); действительно?Perl HTTP Request content() issue

Приветствия

+1

Что такое '$ req'? Это объект HTTP :: Request? – simbabque

ответ

3

Это, кажется, что-то, что вы можете легко проверить для себя, а не спрашивать нас. Что случилось, когда вы попробовали?

(Я собираюсь предположить, что $req является объектом HTTP :: Request - я не знаю, почему вы не включили эту информацию в свой вопрос).

Короче говоря, нет, это недействительно. И это недействительно по ряду причин.

Это не действует, потому что file.img будет интерпретироваться как bareword file сцепляется с bareword img - который дал бы строку fileimg.

Недействительно, потому что use strict делает незаконными незаконные игры, поэтому, если вы используете use strict (и вы действительно должны быть), ваш код даже не будет компилироваться.

Недействительно, так как HTTP::Request::content ожидает последовательность байтов. Поэтому, даже если вы не использовали use strict, весь этот код должен был бы добавить строку fileimg в тело запроса.

Если вы хотите добавить содержимое файла в тело, вам необходимо открыть файл, прочитать данные, а затем передать эти данные в content.

Все это поясняется в документации для HTTP::Request.