У меня есть приложение Rails, которому нужно отправить файл на другую страницу из Javascript, файл, который у меня есть на моем локальном сервере. Дело в том, что я не понимаю, как сделать файл в Javascript
Здесь происходит чудесная магия, которая позволяет мне отображать stl файлы с прекрасной страницы viewstl
<iframe id="vs_iframe" src="https://www.viewstl.com/?embedded&bgcolor=white&color=purple" style="border:0;margin:0;width:100%;height:100%;"></iframe>
Здесь я должен взять свой файл с локального хоста и отправить его в viewstl
<script type = 'text/javascript'>
document.getElementById('vs_iframe').onload=function()
{
#First, I make an http get request to my own server to get the file
const Http = new XMLHttpRequest();
var f;
Http.open("GET", 'http://localhost:3000<%= @pedido.file_url %>');
Http.send();
#Then, I understand that here I have the file in Http.response because if I put it in an alert I see a lot of binary code in my page
Http.onreadystatechange = (e) => {
#Here is the alert I told you about
alert(Http.response)
#Here, I guess I'm creating an beatyful file, but It apears to be an bad formated file because...
f = new File([Http.response], '<%= @pedido.file.filename.to_s %>');
#Because when I send this file to viewstl.com it does not recognize the file. It say "Can't parse file"
document.getElementById('vs_iframe').contentWindow.postMessage({msg_type:'load', file:f}, '*');
}
}
</script>
Дело в том, что если я в своем браузере захожу на рендер "http://localhost:3000<%= @ pedido.file_url%>", я действительно получаю свой файл stl. Если я отправляю этот stl-файл в viewstl с помощью другого сценария (тот, который берет файл с моего диска с тегом ввода), он хорошо отрисовывается, проблема в том, что если я пытаюсь получить этот файл с моего локального хоста с помощью XMLHTTPRequest, ПОЛУЧИТЕ, что я могу ' Это файл, который должен использоваться viewstl.
Это предупреждение, которое я получил
solid 2
1eJ��싗=�[}?Af
C���D�t�BE
Cm��D�k�B� C�=�DT��B�O��݉�=�[}?� C�=�DT��BE
Cm��D�k�B�"
C"��D`b�B`U���=�[}?� C�=�DT��B�"
C"��D`b�B
И так далее. На самом деле я не понимаю, почему в тексте сначала стоит «сплошная 2», а затем двоичный код. Я не знаю о файлах STL, я просто должен сделать это