干预图像在 Vue 中损坏
Intervention Image broken in Vue
我想在不保存和发送到 Vue 的情况下即时创建图像,但我无法显示。
在Laravel
$img = Image::make('image-path')->resize(400, 400);
$img->text('name', 205, 138, function($font) {
$font->file('fonts/BostonHeavy.woff');
$font->size(42);
$font->color('#ffffff');
$font->align('center');
$font->valign('top');
});
return $img->response('jpg');
在 Vue 中
data () {
return {
image: null
}
},
methods: {
async fetchData (param) {
this.image = await this.$axios.$get(`image`)
}
}
在模板中
{{image}}
or
<img :src="image" />
总是显示损坏,虽然在 Postman 上测试它有效
目前,您正在将一堆二进制数据放入您的 img 的 src 属性中,这不起作用。
您需要将图像转换为 data URL as described here How can I convert image binary from API call to data URI in Javascript?
如果您的端点不需要身份验证(或任何其他特殊 headers 或有效负载),您也可以直接将 link 到 image-generating 端点直接放入您的 img 的 src 属性中.例如。如果您的图像是在 /api/image
生成的,那么只需输入 <img src="/api/image" />
.
我想在不保存和发送到 Vue 的情况下即时创建图像,但我无法显示。
在Laravel
$img = Image::make('image-path')->resize(400, 400);
$img->text('name', 205, 138, function($font) {
$font->file('fonts/BostonHeavy.woff');
$font->size(42);
$font->color('#ffffff');
$font->align('center');
$font->valign('top');
});
return $img->response('jpg');
在 Vue 中
data () {
return {
image: null
}
},
methods: {
async fetchData (param) {
this.image = await this.$axios.$get(`image`)
}
}
在模板中
{{image}}
or
<img :src="image" />
总是显示损坏,虽然在 Postman 上测试它有效
目前,您正在将一堆二进制数据放入您的 img 的 src 属性中,这不起作用。
您需要将图像转换为 data URL as described here How can I convert image binary from API call to data URI in Javascript?
如果您的端点不需要身份验证(或任何其他特殊 headers 或有效负载),您也可以直接将 link 到 image-generating 端点直接放入您的 img 的 src 属性中.例如。如果您的图像是在 /api/image
生成的,那么只需输入 <img src="/api/image" />
.