本文整理汇总了Golang中gnd/la/app.Context.Blobstore方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.Blobstore方法的具体用法?Golang Context.Blobstore怎么用?Golang Context.Blobstore使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gnd/la/app.Context
的用法示例。
在下文中一共展示了Context.Blobstore方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: UserImageHandler
func UserImageHandler(ctx *app.Context) {
if ImageHandler != nil {
ImageHandler(ctx)
return
}
id := ctx.IndexValue(0)
format := ctx.IndexValue(1)
if lower := strings.ToLower(format); lower != format {
ctx.MustRedirectReverse(true, ImageHandlerName, id, lower)
return
}
ctx.SetHeader("Content-Type", "image/"+format)
httpserve.NeverExpires(ctx)
bs := ctx.Blobstore()
if err := bs.Serve(ctx, id, nil); err != nil {
panic(err)
}
}
示例2: mightFetchImage
func mightFetchImage(ctx *app.Context, url string, prevId string, prevFormat string, prevURL string) (string, string, string) {
if url == prevURL {
return prevId, prevFormat, prevURL
}
if url == "" {
if prevId != "" {
ctx.Blobstore().Remove(prevId)
}
return "", "", ""
}
id, format, err := getImage(ctx, url)
if err != nil {
// Keep previous
return prevId, prevFormat, prevURL
}
if prevId != "" {
ctx.Blobstore().Remove(prevId)
}
return id, format, url
}
示例3: catFile
func catFile(ctx *app.Context) {
var id string
ctx.MustParseIndexValue(0, &id)
f, err := ctx.Blobstore().Open(id)
if err != nil {
panic(err)
}
defer f.Close()
var meta bool
ctx.ParseParamValue("meta", &meta)
if meta {
var m interface{}
if err := f.GetMeta(&m); err != nil {
panic(err)
}
fmt.Println(m)
} else {
io.Copy(os.Stdout, f)
}
}
示例4: defaultFetchImage
func defaultFetchImage(ctx *app.Context, url string) (string, string, error) {
resp, err := httpclient.New(ctx).Get(url)
if err != nil {
return "", "", err
}
defer resp.Close()
data, err := resp.ReadAll()
if err != nil {
return "", "", err
}
_, format, err := image.DecodeConfig(bytes.NewReader(data))
if err != nil {
return "", "", err
}
bs := ctx.Blobstore()
id, err := bs.Store(data, nil)
if err != nil {
return "", "", err
}
return id, strings.ToLower(format), nil
}