Я использую холодный синтез и создал PDF-файл с помощью <cfcontent. Файл там, где он должен быть. Он имеет разрешение 777, поэтому любой может получить к нему доступ. Когда открываю вручную из папки, это правильно. Но когда я пытаюсь открыть его с помощью javascript, я получаю ошибку 404 file not found. Статус HTTP 404 - /opt/lucee/tomcat/webapps/ROOT/reports/ABCrep/templab.pdf
Я ссылаюсь на весь путь.
Вот как я создал файл:
<cfdocument format = "pdf"
filename = "#extreploc#/templab.pdf"
overwrite = 'true'
pageType = 'custom'
pageHeight = '11'
pageWidth = '8.5'
marginBottom = '.49'
marginTop = '.49'
marginLeft = '.29'
marginRight = '.29'>
<cfoutput> #thelabel# </cfoutput>
</cfdocument>
Путь extreploc - это полный путь, и cfoutput в программе показывает его как: /opt/lucee/tomcat/webapps/ROOT/reports/ABCrep/templab.pdf. Он был создан с помощью функции ExpandPath. Вызов javascript
<input type = "button"
class = 'onoffbut repbutton'
style = 'height: 75px'
id = "showlab"
value = "show #aux_mtype# for printing"
onclick = "labtest('#extreploc#/templab.pdf')">
а сама функция:
<script>
function labtest(x) {
alert("got to labtest x is " + x);
window.open(x);
}
</script>
Оповещение работает и указывает мне верный путь.
Кто-нибудь может увидеть, в чем проблема?
Привет, Абана, путь, на который жалуется 404, - это именно тот путь, который я прошу, и именно путь, по которому существует файл. Однако не могли бы вы объяснить свой комментарий о javascript. Он отлично работает в других областях приложения.
Я понимаю. Значит, изображения находятся в одном домене? В таком случае проблем быть не должно. Расположение файла точно example.com/opt/lucee/tomcat/webapps/ROOT/reports/ABCrep/templab.pdf? Вы уверены, что именно сюда ведет браузер? В этой области вашего приложения могут происходить некоторые скрытые модификации URL-адресов, что может привести к тому, что ваш обычный window.open() выйдет из строя. В любом случае нам нужно больше информации. Возможно, посмотрите страницу с ошибкой и адресную строку вашего браузера.
В моем вопросе цитируется страница с ошибкой.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если вы открываете с помощью
folder/mydocument.pdf, вы, вероятно, направляетесь в домен своего приложения, а затем по этому пути.example.com/folder/mydocument.pdf, который, возможно, находится не там, где на самом деле находится ваш файл, отсюда и 404. Кроме того, если вы обращаетесь к файлу через имя пути, а затем через javascript, я не думаю, что это когда-либо возможно в целях безопасности.