gpt4 book ai didi

html - 用Groovy存储图像

转载 作者:行者123 更新时间:2023-12-02 15:19:18 25 4
gpt4 key购买 nike

因此,几天前我开始使用grails,现在遇到了问题:

class Activity {

String title
String description
String category
String tags
String priority

//<?> image <-
User owner

static hasMany = [tis: TimeInvested]

static constraints = {
title unique: true
category nullable: true, inList : ["Trabalho", "Lazer"]
tags nullable: true
description nullable: true
priority nullable: true, inList :["Alta", "Media", "Baixa"]
}

Double getInvestedHours(){
def soma = 0.0d
this.tis.each {
soma += it.hours
}
soma
}

String toString() {
title
}
}

如您所见,我正在尝试创建一个具有某些属性的 Activity ,其中一个是图像,但是我不知道该图像以什么类型存储。我也试图从html页面获取其值,如下所示:

<form class="form-inline povmt-form" action="${createLink(controller: 'Activity', action: 'save')}" method="POST">
<div class="form-group">
<input type="hidden" name="owner.id" value="${session.user.id}">
<div class="input-group" style="width: 100%">
<div class="input-group-addon" style="width: 30%">Titulo</div>
<input type="text" name="title" class="form-control" placeholder="Titulo" required>
</div>
<div class="input-group" style="width: 100%">
<div class="input-group-addon" style="width: 30%">Descrição</div>
<input type="text" name="description" class="form-control" placeholder="Descrição">
</div>
<div class="input-group" style="width: 100%">
<div class="input-group-addon" style="width: 30%">Imagem</div>
<input type="file" name="image" class="form-control" accept="image/*" capture="camera">
</div>
<div class="input-group" style="width: 100%">
<div class="input-group-addon" style="width: 30%">Categoria</div>
<g:select name="category" class="form-control" from="${['Trabalho', 'Lazer']}"/>
<!-- <select name="" id=""></select> -->
</div>
<div class="input-group" style="width: 100%">
<div class="input-group-addon" style="width: 30%">Prioridade</div>
<g:select name="priority" class="form-control" from="${['Alta', 'Media', 'Baixa']}"/>
</div>
<div class="input-group" style="width: 100%; display: none">
<div class="input-group-addon" style="width: 30%">Tags</div>
<input type="text" name="tags" class="form-control" placeholder="Tags">
</div>
<input type="submit" class="btn btn-primary btn-lg" value="Adicionar atividade" style="width: 100%; margin-top: 40px;">
</div>
</form>


你们有关于如何从html页面中的表单获取图像并将其保存到Groovy变量中以创建新 Activity 的想法吗?我真的是Web开发的新手,因此欢迎您提供任何帮助:)

附注:英语不是我的母语,对您的任何错误深表歉意。

最佳答案

我通常要做的是将图像上传到单独的存储中,例如Amazon S3。您可以使用一个域类来保存图像详细信息,例如url,关键对象ID,名称等。然后在Activity类中引用您的图像对象。按照惯例, Controller 应命名为ActivityController.groovyActivity.groovy通常指域类。为了获得输入并对其进行验证,您可以使用诸如ActivityCommand之类的命令类,该类可以位于您的 Controller 类中。

// Activity.groovy (domain)
class Activity {
Image image
// ..
}

// Image.groovy (domain)
class Image {
// ...
String name
String objId
String url
// ..
}

您可以使用 <g:uploadForm>并在其中添加 <input type="file" name="image">。然后在您的 Controller 中获得如下图像:
// ActivityController.groovy
// ..
def save() {
def file = request.getFile('image') //MultipartFile (spring)
byte[] ba = file.getBytes()
// call S3 upload service ... which will return the Image object.
activityService.save(/*params which includes the image object*/)
}

// ActivityService.groovy
// ..
def saveActivity(Image img, /* .. */) {
Activity a = new Activity()
a.setImage(img)
// ..
a.save() // saves to DB
}

关于html - 用Groovy存储图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41044962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com