出现以下问题:
我试图在grails中创建一个simpel文件上传功能.我刚刚用.创建了一个域类
byte[] rawFile
Run Code Online (Sandbox Code Playgroud)
作为财产.Grails为我做了大部分休息.它适用于开发环境中的标准hsqldb.
然后我将其部署到服务器并配置了oracle db(瘦驱动程序).除了文件上传之外的所有内容都可以与oracle db一起使用.对于文件上传,我得到了一个(据我所知)
SQLException:ORA-01461:只能将LONG值绑定到LONG中
我尝试了几种方法来解决它(包括blob的一些列映射和使用java.sql.blob而不是byte [])但没有真正起作用,我走的方向是我的代码不再是db独立的.
谷歌并没有真正帮助我,我的grails书籍也没有帮助.
我认为将文件保存到磁盘不是一个好的解决方案.
所以这是我的问题:
如何在与oracle一起使用的grails中创建文件上载?
更新:获得了一些额外的信息.管理以使用XE-Edition of Oracle重现问题:
Hibernate为rawFile创建一个VARBINARY(255)列.所以我试图上传一个4字节的文件,它工作.
然后我手动将列的类型更改为'blob',它可以处理更大的文件.
然后我补充道
static mapping = {
columns {
rawFile type:'blob'
}
}
Run Code Online (Sandbox Code Playgroud)
到我的域类,它停止工作:
ERROR errors.GrailsExceptionResolver - [B不能转换为java.sql.Blob java.lang.ClassCastException:[B不能转换为java.sql.Blob
:-(
可以说我有一个模块mymodule.在mymodule forlder我有一个图像文件夹,在该文件夹中我有图像img1.jpg等.
如何获取这些图像的网址?
我对正则表达式有疑问.我有一个文件,我需要以这样的方式解析它,以便我可以区分其中的一些特定文本块.这些文本块由两条空行分隔(有些块由3或1个空行分隔,但我需要2行).所以我有一段代码,这是\s*$^\s*$/我认为应该匹配的正则表达式,但事实并非如此.怎么了?
$filename="yu";
open($in,$filename);
open(OUT,">>out.text");
while($str=<$in>)
{
unless($str = /^\s*$^\s*$/){
print "yes";
print OUT $str;
}
}
close($in);
close(OUT);
Run Code Online (Sandbox Code Playgroud)
干杯,尤利娅
我想扩展或添加另一种方法到现有的协议.虽然协议特别重要,但这正是我想要做的.
@protocol NSMatrixDelegate
- (void)myNewMethod:(id)sender;
@end
Run Code Online (Sandbox Code Playgroud)
编译器警告我有相同协议的重复声明.我该怎么做呢?
谢谢.
Button.UseSubmitBehavior属性用于获取或设置一个值,该值指示Button控件是使用客户端浏览器的提交机制还是ASP.NET回发机制.
那么,客户端浏览器的提交机制和ASP.NET回发机制有什么区别?
我正在寻找工具或软件来构建向导安装程序,以便于自定义并具有良好的UI视图.
像Microsoft Office/Microsoft VS或任何良好的设置过程?
微软是否提供这样的工具?
我不太熟悉软件构建和安装.
安装领域的专家的想法将是伟大的
谢谢大家.
如果要将类引用转发给具有类型转发的另一个程序集,该类是否需要从Type继承?
我想我真正追求的是 - 类型转发的短语和概念中的"类型"一词是什么意思,或者说的是什么.
为OpenGL着色器程序设置属性位置时,您将面临两个选项:
链接之前的glBindAttribLocation()以显式定义属性位置.
要么
链接后的glGetAttribLocation()以获取自动分配的属性位置.
使用一个而不是另一个有什么用?
在实践中哪一个(如果有的话)更受欢迎?
我们都使用.NET配置文件XML格式(例如Web.config,App.config等).
为自定义配置部分创建代码是直截了当的,但有点单调.是否有一个很好的工具来构建生成类的自定义配置部分?
理想情况下,该工具还会查看手工构建的示例XML部分,并将它们反向工程为类.调整需要涉及该工具,因为它无法猜测使用的所有方面.
我为组件生成了足够的自定义配置部分,可以很好地使用该工具.
Math.Max(1f, float.NaN) == NaN
new[] { 1f, float.NaN }.Max() == 1f
Run Code Online (Sandbox Code Playgroud)
为什么?
编辑:同样的问题也加倍!