我试图从('@ ionic-native / image-picker')获取图像文件uri的base64字符串(使用'@ ionic-native / base64'),但在运行此代码后,图像似乎被破坏了。有什么建议吗?
我的HTML:
<img [src]="base64ImageChosen" *ngIf="base64ImageChosen"/>
选择器选项:
this.pickerOptions = {
maximumImagesCount: 1,
width: 10,
height: 10,
quality: 100,
outputType: 0
};
我的代码:
chooseImage() {
this.imagePicker.getPictures(this.pickerOptions).then((results) => {
for (let i = 0; i < results.length; i++) {
let filePath: string = results[i];
this.base64.encodeFile(filePath)
.then((base64File: string) => {
this.base64ImageChosen = base64File
}, (err) => {
console.log(err);
})
.then((res) =>
this.myForm.patchValue({ imageChosen: this.base64ImageChosen })
)
}
}, (err) => { });
}
答案 0 :(得分:1)
要显示图像,您需要使用window.URL.createObjectURL()
来创建表示图像对象的字符串。
let image = new Image()
image.src = filePath;
base64ImageChosen = URL.createObjectURL(image);
从您的代码中,您似乎想要显示文件夹中的所有图像。我假设你使用ngFor
在你的html模板中循环。
答案 1 :(得分:1)
您可以使用:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<!-- identity transform -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Snippet"/>
<xsl:template match="description">
<xsl:copy>
<xsl:variable name="len" select="string-length(substring-before(., '<table'))" />
<xsl:value-of select="substring(., $len + 1)" disable-output-escaping="yes"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
数据:image / jpeg; base64,this.imagePicker.getPictures(options).then( (res)=>{
for (var i = 0; i < res.length; i++) {
let base64 =