I have a website running VueJS at localhost:3000
and it does something that calls this.nextImage()
.
methods: // content // async nextImage() { console.log("In nextImage from App.vue"); // keeping track of location try { const response = await axios.get('http://localhost:5050/images'); console.log(response.data); [how to make an image?] } catch (error) { console.error(error); } } // content // <template> <!-- stuff --> <div class="picture"><img :src="[what should go here?]" :alt="imageName"></div> <!-- more stuff --> <template
On localhost:5050
is an Express server that includes:
const path = require('path') // content // app.get('/images', (req, res) => { console.log("Express server: /images"); // tracking location let imageName = 'myImage' let imagePath = path.join(__dirname, '/images/' + imageName + '.jpeg') res.sendFile(imagePath) })
Record response.data gives
����JFIF��� !.%+!&8&+/1555$;@;4?.4514+$+44444444444444444444444444444444444444444444444444���"����B !1AQ2aq���"BR�����b�#3CSr���D��$%4����&1Q!Aa�2q�"��?�Z�UyEZL�>��ˀ��@�'G ��YU�U�$RlX�d<ǜ (... abbreviated because I had too much code)
I need two very simple things:
This is a very simple fix. I don't actually need to send the file itself, just the link to the file (just
app.send(imagePath)
). When clients make a GET call to the server, they get a url, which can be enclosed in animg
tag like this:<img source="imagePath">
.