我正在使用FOSRestBundle构建API,并且我正处于需要实现创建包含二进制数据的新实体的处理阶段.
按照发送二进制数据和REST API请求
概述的方法,multipart/form-data由于Base64需要增加约33%的带宽,因此发送数据对于我们的实现感觉最实用.
题
如何配置REST端点以处理请求中的文件,并在发送数据时对JSON编码实体执行验证multipart/form-data?
当刚刚发送原始JSON时,我一直在使用Symfony的表单handleRequest方法来执行针对自定义的验证FormType.例如:
$form = $this->createForm(new CommentType(), $comment, ['method' => 'POST']);
$form->handleRequest($request);
if ($form->isValid()) {
// Is valid
}
Run Code Online (Sandbox Code Playgroud)
我喜欢这种方法的原因是,我可以根据操作是更新(PUT)还是新操作(POST)来更多地控制实体的数量.
我知道Symfony的Request对象处理请求,以前JSON数据将是content变量,但现在键入request->parameters->[form key]文件bag(request->files)中的文件.
我正在尝试创建一个存储过程,该过程采用一个参数,如果一个列是真正的命令,另一个列是假订单.我该如何实现?
这是我到目前为止所拥有的
CREATE PROCEDURE [dbo].[CLICK10_GetCP]
@switch AS BIT
AS
BEGIN
SELECT
acct_nbr,
acct_name
FROM
acct
ORDER BY
END
GO
Run Code Online (Sandbox Code Playgroud) 我想让Jekyll在Windows上工作并且没有运气.这是我第一次安装/使用Ruby.
Ruby版本:ruby 2.0.0p0(2013-02-24)[i386-mingw32](http://rubyinstaller.org/)
杰基尔版:jekyll 1.0.1
当我将pygments设置为false时,错误消失了_config.yml.
错误信息
D:\Code\Jekyll\test>jekyll serve
Configuration file: D:/Code/Jekyll/test/_config.yml
Source: D:/Code/Jekyll/test
Destination: D:/Code/Jekyll/test/_site
Generating... Liquid Exception: cannot load such file -- yajl/2.0/yajl in 2013-05-11-welcome-to-jekyll.markdown
C:/Ruby200/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
C:/Ruby200/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0-x86-mingw32/lib/yajl/yajl.rb:2:in `<top (required)>'
C:/Ruby200/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
C:/Ruby200/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0-x86-mingw32/lib/yajl.rb:1:in `<top (required)>'
C:/Ruby200/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
C:/Ruby200/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/pygments.rb-0.4.2/lib/pygments/popen.rb:3:in `<top (required)>'
C:/Ruby200/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
C:/Ruby200/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/pygments.rb-0.4.2/lib/pygments.rb:1:in `<top (required)>'
C:/Ruby200/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
C:/Ruby200/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/jekyll-1.0.1/lib/jekyll/tags/highlight.rb:52:in `render_pygments'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/jekyll-1.0.1/lib/jekyll/tags/highlight.rb:45:in `render'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/liquid-2.5.0/lib/liquid/block.rb:106:in `block in render_all'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/liquid-2.5.0/lib/liquid/block.rb:93:in `each'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/liquid-2.5.0/lib/liquid/block.rb:93:in `render_all'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/liquid-2.5.0/lib/liquid/block.rb:82:in `render'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/liquid-2.5.0/lib/liquid/template.rb:124:in …Run Code Online (Sandbox Code Playgroud) 对于我的大学任务,我必须制作一个可联网的pacman版本.我认为我最好先制作pacman的本地副本,然后扩展此功能以进行网络播放.
我不得不说,我对java GUI开发相对较新,并在java中使用这些功能.
我已经开始关注java中游戏开发的上述链接以及pacman游戏的一个例子.
我决定将迷宫表示为一个int数组,其中不同的值意味着不同的东西.但是当主游戏循环中的paint方法运行时,我正在用这种方法重绘整个迷宫.
for (int i : theGame.getMaze())
{
if (i == 4)
{
g.setColor(mazeWallColour);
g.fillRect(curX, curY, cellSize, cellSize);
curX += 25;
}
else
{
curX += cellSize;
}
index++;
// Move to new row
if (index == 25)
{
index = 0;
curX = 10;
curY += cellSize;
}
}
Run Code Online (Sandbox Code Playgroud)
然而,这为我提供了不到1fps.虽然我已经注意到上面链接的示例使用类似的方式重绘每次调用paint方法,我相信这是在一个不可见的图像(有点像双缓冲[有点像第一个链接使用BufferStrategy]解释])什么是重绘迷宫的更好方法?
任何指针/建议都很有用.
感谢您的时间.
http://pastebin.com/m25052d5a - 主要游戏类.
编辑:我刚刚发现一些非常奇怪的事情发生后,试图看看执行了多长时间的代码.
在我添加的paintClear(Graphics g)方法中
ocean = sprites.getSprite("oceano.gif");
g.setPaint(new TexturePaint(ocean, new Rectangle(0,t,ocean.getWidth(),ocean.getHeight())));
g.fillRect(10, 10,getWidth() - 20,getHeight() - 110);
Run Code Online (Sandbox Code Playgroud)
这让整个事情顺利进行 - 然而当我删除这些线条时,整个事情变慢了?可能是什么导致了这个? …
我试图将图像添加到mysql数据库中的BLOB字段.图像尺寸将小于100kb.但是我遇到了问题,并想知道将这些数据添加到数据库的更好方法是什么?
com.mysql.jdbc.MysqlDataTruncation:数据截断:第1行的"数据"列的数据太长
PreparedStatement addImage = conn.prepareStatement("INSERT INTO Images (Width, Height, Data) VALUES (?,?,?)",Statement.RETURN_GENERATED_KEYS);
Run Code Online (Sandbox Code Playgroud)
下面是我用于将图像添加到数据库中的方法.
public int addImage(Image image) throws SQLException, IllegalArgumentException
{
this.addImage.clearParameters();
byte[] imageData = ImageConverter.convertToBytes(image);
int width = image.getWidth(null);
int height = image.getHeight(null);
if (width == -1 || height == -1)
{
throw new IllegalArgumentException("You must load the image first.");
}
this.addImage.setInt(1, width);
this.addImage.setInt(2, height);
this.addImage.setBytes(3, imageData);
this.addImage.executeUpdate();
ResultSet rs = this.addImage.getGeneratedKeys();
rs.next();
return rs.getInt(1);
}
Run Code Online (Sandbox Code Playgroud)
将数据字段类型更改为Mediumblob并尝试将140kb图像文件放入数据库后,我收到了不同的错误.
com.mysql.jdbc.PacketTooBigException:查询包太大
问题是我尝试将数据添加到数据库的方式.我应该采取不同的方法吗?如果是这样的话?
我正在做一个应用程序来进行简单的测验.我已经给出了答案是多选择使用RadioGroup.所以在加载每个问题时如何设置RadioGroup默认情况下未选中?
表单永远不会有效,但$form->getErrors()不会出错.由于它将使用DEV HTTP客户端进行REST API测试
测试数据是
标题:
Content-Type:application/json
身体:
{"username":"sad","password":"123","email":"asdsads@fgfdg.com"}
我没有任何validation.yml文件
有没有任何方法可以找出出错的方法(错误信息)?
public function postUserAction(Request $request)
{
return $this->processForm(new User(),$request);
}
private function processForm(User $user, Request $request )
{
$form = $this->createForm(new UserType(), $user);
$form->handleRequest($request);
if ($form->isValid()) {
return array('form' => 'valid');
}
return \FOS\RestBundle\View\View::create($form->getErrors(),400);
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 Visual Studio 2013 在 C# 中开发一个应用程序,并希望连接到我的数据库。我已经尝试在下面的代码和连接字符串中执行此操作。
SqlConnection con = new SqlConnection();
con.ConnectionString = "server=.;database=[Demo Database Nav (5-0)];user=us;password=id";
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
System.Web.Services.Protocols.SoapException:Servern kunde inte begäran。---> System.Data.SqlClient.SqlException: 无法打开登录请求的数据库“[Demo Database Nav (5-0)]”。登录失败。用户“我们”登录失败。
我打开了 SQL Server 并添加了登录名“us”,密码为“id”。我已将此登录名设为 db_owner 并将其与正确的数据库相关联。我已经尝试了几次登录,但没有一个成功。我的连接字符串有问题吗?
c# sql-server web-services database-connection visual-studio
我是使用TFS 2010的新手,并且想知道向我添加到TFS源代码控制的项目添加引用(.eg AjaxControlToolKit等)的最佳方法.
将引用指向网络上的共享文件夹并从那里获取是否有良好的解决方案?或者是否有更好的方法来实现这些目标.
我只使用过VSS和.NET的东西,但对svn/mercurial的使用经验有限
另外 - 我想学习如何正确使用TFS - 有没有人有任何有用的指南或推荐阅读?我们公司有5名开发人员从未在团队协作方面拥有太多"适当"的行业经验 - 但是我们中的两个人熟悉SCRUM和大学敏捷,并且希望采用这种方法.
java ×2
rest ×2
sql-server ×2
symfony ×2
android ×1
c# ×1
dependencies ×1
geometry ×1
gps ×1
jdbc ×1
jekyll ×1
math ×1
mysql ×1
radio-group ×1
ruby ×1
scrum ×1
sql ×1
t-sql ×1
tfs ×1
tfs2010 ×1
validation ×1
web-services ×1