使用Javascript,我正在对WCF服务进行AJAX调用,并返回一个字节数组.如何将其转换为图像并将其显示在网页上?
我正在声明一个包含图像的界面.我需要给它什么类型.
export interface AdInterface {
email: string;
mobile: number;
image?: ??
}
Run Code Online (Sandbox Code Playgroud) 我试图使用纯JavaScript显示图像(字节数组).
我怎样才能在ASP.NET中实现这一目标?
我在我的数据库中有图像的二进制数据,我想在ASP.NET中的图像控件中显示它.怎么样?如果不可能,请找到另一种方法将其保存在数据库中并将其显示在图像控件中.
我从方法中获得了Base64编码的照片.我以编程方式将其添加为图像的src.然后我使用jQuery lightBox插件来显示图像的预览.在Firefox和Chrome中,一切正常,但在Internet Explorer 9中,图像预览仅显示我的图像的几行.
因此图像不会显示为整体; 它只显示了一小部分.其余的消失了,看起来某些东西在某个时刻停止加载它.Base64很好,在其他Web浏览器中显示整个图像,并且只有Internet Explorer存在问题.
在我的aspx中:
<script type="text/javascript">
$(function () {
$('#gallery a').lightBox({ fixedNavigation: true });
});
</script>
<div id="gallery">
<a id="aPhoto" runat="server">
<img alt="photo" id="imgPhoto" runat="server" /></a>
</div>
Run Code Online (Sandbox Code Playgroud)
在我的aspx.cs文件中:
imgPhoto.Attributes.Add("src", "data:image/jpg;base64," + base64Image);
Run Code Online (Sandbox Code Playgroud)
所以我在aspx文件中插入这样的东西:
imgPhoto.Attributes.Add("src", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==");
Run Code Online (Sandbox Code Playgroud)
如何修改它以使用Internet Explorer?
我正在尝试将图像(链接)转换为 base64 以便能够存储在浏览器端(IndexedDB)中,但我无法做到这一点,我几天来一直在寻找解决方案,但我没有我的问题的解决方案。
在这个很棒的代码中,我能够将图像从 Internet 转换为 Base64,但问题是由于同源策略,我无法对 Internet 上的其他图像执行此操作。
我将如何避免该问题,或者如果您知道将图像转换为 Base64 的任何其他解决方案,那将非常有帮助
function convertImgToBase64URL(url, callback, outputFormat){
var img = new Image();
img.crossOrigin = 'Anonymous';
img.onload = function(){
var canvas = document.createElement('CANVAS'),
ctx = canvas.getContext('2d'), dataURL;
canvas.height = img.height;
canvas.width = img.width;
ctx.drawImage(img, 0, 0);
dataURL = canvas.toDataURL(outputFormat);
callback(dataURL);
canvas = null;
};
img.src = url;
}
convertImgToBase64URL('http://upload.wikimedia.org/wikipedia/commons/4/4a/Logo_2013_Google.png', function(base64Img){
alert('it works');
$('.output').find('img').attr('src', base64Img);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="output"> <img> </div>
Run Code Online (Sandbox Code Playgroud)
我有一个Angular 2应用程序连接到Web Api后端.有一个端点返回存储在sql数据库中的图像的byte [].如何在Angular中将其显示为图像?我可以更改Web Api或Angular应用程序.
我的Web Api端点看起来像这样......
[Route("api/profileimage/{userId}")]
public byte[] Get(string userId)
{
var image = _profileImageService.GetProfileImage(userId);
return image;
}
Run Code Online (Sandbox Code Playgroud)
我的Angular HTML看起来像这样......
<img src="http://localhost:2116/api/ProfileImage/{{tile.UserId}}" width="100" height="100"/>
Run Code Online (Sandbox Code Playgroud)
我需要做什么转换,或api应该提供什么?
我在Primefaces组件graphicImage中显示图像时遇到问题.
当我的MB是SessionScoped时,一切正常.但是当它ViewScoped时,图像没有显示出来.
我可以保持SessionScoped,但我的页面上传/删除图像,并存储在PostgreSQL中(请,我的软件架构强迫我这样做).问题是当我插入新图像或删除一个图像时,页面仍显示最后的值(未刷新的图像),直到我关闭浏览器并再次打开.我希望通过ViewScoped我可以重新加载页面,我的问题就解决了.
这是页面的快照:
<p:panel id="panelListFotoProduto" header="Fotos do Produto" toggleable="true" collapsed="false" closable="false"
toggleSpeed="500" widgetVar="panelListFotoProduto" visible="true" >
<p:dataTable id="listFotoProduto" paginatorPosition="bottom" value="#{produtoMB.listProdutoFoto}"
lazy="true" var="pf" selectionMode="single" paginator="true" rows="1"
rowKey="#{pf.id}">
<p:column style="width: 100%" >
<h:panelGrid columns="1" cellpadding="4">
<p:graphicImage id="imageProduto" value="#{produtoMB.getFoto(pf)}" onclick="dialogFotoProduto.show()"/>
<p:commandButton value="Excluir" style="width: 100%;" update=":growl :formProduto:panelListFotoProduto" actionListener="#{produtoMB.removeFoto(pf)}"/>
</h:panelGrid>
</p:column>
<f:facet name="footer">
<h:panelGrid columns="1" cellpadding="4">
<p:commandButton value="Adicionar" style="width: 100%;" update=":growl :formProduto:panelListFotoProduto" actionListener="#{produtoMB.adicionarFoto()}"/>
<h:outputText id="totalProdutos" style="font-weight:bold" value="Total de Fotos Cadastrados: #{produtoMB.listProdutoFoto.size() }"/>
</h:panelGrid>
</f:facet>
</p:dataTable>
</p:panel>
Run Code Online (Sandbox Code Playgroud)
这是我的MB:
@ManagedBean
@SessionScoped
public class ProdutoMB {
private Produto …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用此JS代码显示横幅广告
document.write('<div><span><script type="text/javascript" \n\
src="http://localhost:8080/Adserver/adserver?id=' + pubcode +'><\/script></span></div>');
Run Code Online (Sandbox Code Playgroud)
" http:// localhost:8080/Adserver/adserver "是一个servlet代码,它将图像url作为响应.但我仍然无法渲染图像.
有什么建议 ?
我有一个这样的Vue文件,
export default {
data(){
return{
info: {
name: '',
image: '',
},
errors: []
}
},
created: function(){
this.getInfo();
},
methods: {
getInfo: function(){
this.info.name = response.data.results[0].name;
this.info.image = response.data.results[0].image;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在将数据从该文件传递到子Vue组件中。子组件如下:
<template>
<div class="ui items">
<div class="item">
<div class="ui small image">
{{info.image}}
</div>
</div>
</div>
</template>
<script>
export default{
props:['info']
}
</script>
Run Code Online (Sandbox Code Playgroud)
我的图像作为Blob存储在MySQL数据库中。当我运行应用程序时,图像在UI上显示为二进制数据。对象看起来像这样,
这里有人可以帮助我显示图像吗?非常感谢你!
我正在尝试使用以下代码在 Django 应用程序上使用 Python 制作二维码:
def generate_qr_code (reference):
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4,
)
qr.add_data(reference)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white").convert('RGB')
filename = reference+".jpeg"
img.save("C:\\qrs\\"+filename)
Run Code Online (Sandbox Code Playgroud)
现在,当我单击“生成二维码”按钮时,将调用此函数。我的问题是,我希望二维码显示在浏览器的新选项卡上,而不是将其保存为图像,因为当时我只需要将它们打印在纸上,不需要保留图像。
感谢您的帮助。
javascript ×5
asp.net ×4
image ×4
html ×3
c# ×2
ajax ×1
angular ×1
base64 ×1
binary-data ×1
blob ×1
django ×1
django-apps ×1
java ×1
jboss7.x ×1
jquery ×1
jsf-2 ×1
mysql ×1
primefaces ×1
python ×1
qr-code ×1
servlets ×1
typescript ×1
uri ×1
vue.js ×1
wcf ×1