我想从对象字段中删除空白区域,以便我可以使用JSX将其显示为CSS中的背景图像.
renderImage(singleMedia, type) {
let mediaType = singleMedia.mediaType;
if(type == "image")){
var mediaPreview = singleMedia.mediaPreview.replace(/\s+/g, '%20');
console.log("The original image was", singleMedia.mediaPreview, "The NEW ONE IS", mediaPreview);
var divStyle = {
backgroundImage: 'url(' + mediaPreview + ')'
}
}
return(
<div className="image-logo" style={divStyle}> </div>
);
}
Run Code Online (Sandbox Code Playgroud)
如果mediaPreview没有空格,我可以渲染图像.但是当它确实有空格时,即使添加了%20,我仍然无法查看它.
当我运行我的代码时,我得到以下结果:(但输出仍然是空白的.图像只显示我是否发送没有空格的)
the original image was http://api.testing.ca/media/ad/no-smoking-sign (1).png The NEW ONE IS http://api.testing.ca/media/ad/no-smoking-sign%20(1).png
Run Code Online (Sandbox Code Playgroud)
我想知道是否有办法剥离白色空间并将其转换为divStyle中的%20?
问题不在于空格,问题是文件名中的结束括号.而%20不是替换为替换白色空间而是替换)为%29:
var mediaPreview = singleMedia.mediaPreview.replace(/\)/g, '%29');
Run Code Online (Sandbox Code Playgroud)
urlCSS中的令牌在找到第一个非转义时结束).
或者,您可以引用整个网址:
var divStyle = {
backgroundImage: 'url("' + mediaPreview + '")'
}
Run Code Online (Sandbox Code Playgroud)
但是你需要转义引号.
| 归档时间: |
|
| 查看次数: |
329 次 |
| 最近记录: |