FineUploader上传得到401错误并挂起

时间:2016-11-23 17:13:24

标签: ajax apache fine-uploader

我正在使用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可能是答案,但如果是,我如何找到正确的值放入“授权:基本”标题?

1 个答案:

答案 0 :(得分:0)

要更改使用传统上传请求发送的标头,请使用setCustomHeaders API method

uploader.setCustomHeaders(
   'Authorization', 'Basic ' + username + ':' + password, 
   fileId
)