我正在使用FineUploader 5.11.9“Traditional”将图片上传到我的Web服务器,其中使用Perl CGI :: Simple模块编写的脚本位于接收端。在我的内部开发系统上一切正常 - 我使用CGI::Simple::upload()
获取文件的名称,然后使用CGI::Simple::upload($file,$target)
将临时文件神奇地复制到我想要的位置,而不必乱用文件句柄(所以一旦你意识到你需要use CGI::Simple(-upload)
,因为默认情况下禁用了上传支持,比旧的CGI.pm容易得多!)
但我离题了。在我的开发系统上一切都很好,但在我的生产系统上只有第一次上传工作,然后只有在加载webapp页面后我很快就能完成。所有后续上传都挂起,当我在Safari中使用Web Inspector时,我看到对我的CGI脚本的调用已收到401 Not Authorized响应。
生产服务器使用基本访问身份验证(使用AuthType Basic
等设置在Apache <Location "/">
文件的httpd.conf
部分中(实际上default-ssl.conf
包含在其中) ,并且Safari设置为记住用户名/密码,所以我猜我的第一次上传是有效的,因为加载网页时的身份验证仍然有效,但是当我做另一个请求时,它已经过时了。
我查看了FineUploader文档站点,但无法找到有关其AJAX请求的授权的任何信息。谷歌发现FineUploader - add authentication in header可能是答案,但如果是,我如何找到正确的值放入“授权:基本”标题?
答案 0 :(得分:0)
要更改使用传统上传请求发送的标头,请使用setCustomHeaders
API method:
uploader.setCustomHeaders(
'Authorization', 'Basic ' + username + ':' + password,
fileId
)