我有此代码:
Request restletRequest = getRequest();
HttpServletRequest servletRequest = ServletUtils.getRequest(restletRequest);
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator fileIterator = upload.getItemIterator(servletRequest);
LOG.info("File Item iterator - " + fileIterator.hasNext());
while (fileIterator.hasNext()) {
// never reached
}
带日志:
[main] INFO com.xyzbackend.ServerResource - Media type - multipart/form-data; boundary=----WebKitFormBoundary5XV92DI2vfB2Z6NO
[main] INFO com.xyzbackend.ServerResource - Media size - 27671
[main] INFO com.xyzbackend.ServerResource - File Item iterator - false
这里的问题是,它可以在我的本地计算机上运行,这意味着“从未到达”部分实际上已到达并且代码可以正常执行。我的问题是,当它上传到云服务器(运行NGINX Unit服务器的Linode)时,它的行为开始有所不同。 fileIterator.hasNext()
被评估为false。
根据经验,这种奇怪行为的可能原因是什么?