У меня есть этот код:
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
Проблема здесь в том, что он работает на моей локальной машине, что означает, что раздел "никогда не достигнут" фактически достигнут, и код выполняется нормально. Моя проблема в том, что когда он загружается на облачный сервер (Linode с запущенным сервером NGINX Unit), он начинает вести себя по-другому. fileIterator.hasNext()
оценивается как ложное.
Исходя из опыта, какие могут быть возможные причины такого странного поведения?