整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

go语言1.16 embed小技巧-动态文件更新

go语言1.16 embed小技巧-动态文件更新

o1.16 embed可以将文件嵌入到编译后的二进制中,以后发布一个web程序可以只提供一个二进制程序,不需要其他文件,同时避免重复文件io读取。

但是在开发时,使用embed后如果修改前端文件那么需要重启GO程序,重新生成embed数据,导致开发过程不方便。

参考:go语言中文文档:www.topgoer.com

转自:https://segmentfault.com/a/1190000039256204

提供一个embed支持动态文件的小技巧,使用http.Dir和embed.FS混合组合一个新的http.FileSystem,如果当前目录存在静态文件,那么使用http.Dir返回静态文件内容,否则使用embed.FS编译的内容,这样既可以使用http.Dir访问时时的静态文件,可以使发布的二进制程序使用embed.FS编译内置的静态文件数据。

package main

import (
    "embed"
    "net/http"
)

//go:embed static
var f embed.FS

func main() {
    http.ListenAndServe(":8088", http.FileServer(FileSystems{
        http.Dir("."),
        http.FS(f),
    }))
}

// 组合多个http.FileSystem
type FileSystems []http.FileSystem

func (fs FileSystems) Open(name string) (file http.File, err error) {
    for _, i :=range fs {
        // 依次打开多个http.FileSystem返回一个成功打开的数据。
        file, err=i.Open(name)
        if err==nil {
            return
        }
    }
    return
}

在代码目录创建一个static目录,然后里面创建一个index.html auth.html,启动程序后就可以使用http://localhost:8088/static/index.html 访问到静态文件,在修改文件后不重启也会显示最新的文件内容。

Bay一直致力于为买卖双方提供更好的售卖平台,为了便于卖家介绍商品以及买家了解所需,我们将为大家介绍两种在商品详情页嵌入视频的方法,以便更好的满足买卖双方的需求。除了文字介绍,我们也在每部分精心准备了视频说明,欢迎点击了解哦!

eBay商品详情页支持的视频格式

eBay支持使用HTML5的VIDEO标签来引用互联网上的视频资源(如MP4格式的视频影片)直接播放,也支持使用图片超链接的HTML代码形式,将消费者引导向YouTube等视频网站观看相关内容。

注意、eBay已禁止使用动态内容如Javascript等代码嵌入视频,传统视频网站的视频嵌入代码不可直接引用,使用动态代码可能会导致Listing下架。

01、嵌入视频方法一:

· 上传视频:将视频上传至储存空间;

· 编辑代码:编辑如下代码红色部分,[URL]替换成需要嵌入的视频URL,[VIDEO FORMAT]替换成相应视频格式;

· 进入HTML编辑模式:选择对应eBay listing,进入编辑模式,Item Description中选择HTML编辑模式;

· 嵌入代码:将编辑好的代码嵌入商品详情页合适的位置。

代码示例:

<video controls="">

<source src="https:[URL]" type="video/[VIDEO FORMAT]">

</video>

HTML5 Video标签嵌入视频步骤:

· 进入eBay listing编辑模式,在Item Description,选择HTML模式;

· 使用HTML5 <VIDEO>标签编写代码,贴入相应代码。

HTML5 Video标签嵌入视频需要注意:

· HTML 5原生 <Video> 标签可支持MP4, webM, OGG等多种格式的视频播放;

· 用户使用的浏览器决定了相应视频格式是否可以播放;

· 用户需自行寻找对应存储空间,存储自己的MP4视频文件,以https协议引用。

代码编写提示:

HTML5格式的代码嵌入后,商品详情页可直接播放视频,如下:

视频存储空间 - Kizoa

用户可以上传视频至Kizoa上存储,用户能在https://www.kizoa.app/pfh/index.php上传视频并以HTML5的方式进行视频嵌入,详细步骤请参考文末——如何使用视频存储空间 Kizoa

02、嵌入视频方法二:

图片超链接嵌入视频方法介绍:

· 编辑代码:编辑如下代码红色部分,[TITLE]写入相应视频标题(或删除),[YouTube Video ID]替换成需要嵌入的YouTube video ID,(或替换整段URL);

· 进入HTML编辑模式:选择对应eBay listing,进入编辑模式,Item Description中选择HTML编辑模式;

· 嵌入代码:将编辑好的代码嵌入商品详情页合适的位置。

代码示例:

<!-- BEGIN LINKED VIDEO →

<p>[TITLE]</p>

<div class="ytvideo">

<a target="_blank" href="https://www.youtube.com/embed/[Youtube Video ID]?rel=0">

<img src="https://img.youtube.com/vi/[Youtube Video ID]/0.jpg">

</a>

<p class="yt_ft">Video will open in a new window</p>

</div>

<style> .ytvideo * { box-sizing:border-box; } .ytvideo { max-width:480px; font-family:arial; text-align:center; position:relative; min-height:120px; background-color:#555; } .ytvideo p { position:absolute; margin:0; color:white; background-color:rgba(0,0,0,.5); } .ytvideo .yt_hd { font-size:16px; width:100%; height:28px; line-height:28px; text-align:left; top:0; left:0; padding-left:10px; overflow:hidden; } .ytvideo .yt_ft { font-size:12px; width:100%; bottom:0; left:0; } .ytvideo img { display:block; max-width:100%; border:0; } .ytvideo a:after { content:"\A0BA"; position:absolute; width:60px; height:50px; left:0; top:0; right:0; bottom:0; margin:auto; border:0; border-radius:10px; color:white; background:rgba(0,0,0,.6); font-size:24px; line-height:50px; cursor:pointer; } .ytvideo a:hover:after { background:#CC181E; } .ytvideo .yt_inp { position:absolute; top:100%; left:0; width:100%; text-align:center; padding:.5em .2em; xfont-size:18px; border:0; color:white; background: rgba(0,0,0,.7); } @media(max-device-width:960px){ .ytvideo { margin-bottom:60px; } .ytvideo .yt_inp { padding:1em .2em; } } </style>

<!-- END LINKED VIDEO -->

注意

在桌面和移动端浏览器中,将打开新的窗口,跳转至YouTube网站进行播放;

Android和iOS的移动端eBay APP均不支持YouTube视频播放。

图片超链接嵌入视频示例步骤:

· YouTube网站找到您所需要添加的视频URL;

· 将该URL填入示例代码中,将代码复制入eBay Item Description:

代码嵌入后,点击eBay商品详情页的视频,新的窗口将被打开,并跳转至YouTube进行播放,如下:

注意、避免使用嵌入式视频代码。

需要强调的是,请避免使用Youtube或其他视频网站提供的<iframe>嵌入视频代码,这种有可能将会被eBay识别为动态内容,可能会导致listing的下架。

除了YouTube,其他平台也能支持相同嵌入视频的功能,如下:

如何使用视频存储空间 Kizoa

上传视频步骤:

· 进入Kizoa主页: https://www.kizoa.app/pfh/index.php

· 注册账号并登录使用

· 点击Add photos/videos以添加视频

· 选择上传来源(可选来源自本机硬盘)

· 选择视频

· 系统正在上传视频

· 视频上传成功

获取视频地址:

· 双击播放该视频

· 在键盘上按下F12;

· 点击网页源码左上角的鼠标图标;

· 任意点击视频播放的区域;

· 源码中会显示一个src的链接,即是视频的地址 (https://ugc.kizoa.app/kgra2/f339033939_9814612.mp4);

· 复制并保存好链接。

(来源:eBay)

录wordpress,新建一篇文章,或者修改以前的文章。进入编辑页面

点击这个套着圆圈的小加号

在“格式”中找到“自定义HTML”

在空白处输入代码之后是这样的

<embed src="https://www.meipian.cn/1p57q9li?share_depth=1" width=100% height="700"/>

其中,src是美篇文章的连接,当然头条的也可以,不过有一点需要注意,如果你打算转载自己的文章,请不要使用美篇后台编辑的链接。具体做法如下:

点击“完成/分享”

点击“复制链接”,这样我们就get到了正确的链接了!

把它付给<embed>的src即可。切记,冒号不能少,必须是半角!

最后调一下height值来控制一下嵌入的页面的显示长度。

OK,点击预览

好了,你学会了吗?支持公益,关爱孤独症儿童!