我正在使用官方此脚本上传文件。 但响应返回错误:- 文件名不能为空
正如他们所说,我只更改了脚本中的参数,没有其他内容。 如
$networkid = "RA";
$apikey = "XXXX";
$offerid = "2207";
$creativetype = "file";
$filename = "JetSmartShopping.zip";
来自脚本的响应
Array (
[request] => Array (
[Target] => OfferFile [Format] => json
[Service] => HasOffers
[Version] => 3
[Method] => create
[NetworkToken] => XXXX
[NetworkId] => RA
[data] => Array (
[offer_id] => 2207
[type] => file
[display] => JetSmartShopping.zip
)
[return_object] => 1
[JetSmartShopping_zip] => @JetSmartShopping.zip
)
[response] => Array (
[status] => -1
[httpStatus] => 200
[data] =>
[errors] => Array (
[0] => Array (
[err_code] => 1
[err_msg] => Filename cannot be blank.
[attribute_name] => filename [publicMessage] => Could not create offer file.
)
)
[errorMessage] => Could not create offer file.
)
)
但是如果我使用 curl 命令,那么它可以工作
curl --verbose --globoff -X POST -F "xyz.zip=@xyz.zip" "http://api.hasoffers.com/v3/OfferFile.json?Method=create&NetworkToken=XXXX&NetworkId=RA&data[offer_id]=1899&data[type]=file&data[display]=xyz.zip&return_object=1"
我已经检查了此脚本的以下一些要求
要上传的文件应位于脚本所在的同一路径中。
尝试了堆栈溢出中的其他一些解决方案。
为文件指定不同的名称
但他们都不适合这个剧本。
但是相同的文件正在使用命令和使用他们的网站上传。
任何人都能弄清楚。提前谢谢。
PHP 脚本说(在"不要更改下面的任何内容"行下):$fields[$filename] = "@{$filename}";
但是在您的请求中,我读到了这一行:[JetSmartShopping_zip] => @JetSmartShopping.zip
应该是:[捷智购物.zip] => @JetSmartShopping.zip?
您是否编辑了脚本的禁止部分?