android-通过带回形针插件的Rails服务器通过Post方法上传图像

android-通过带回形针插件的Rails服务器通过Post方法上传图像,第1张

概述我有一个Rails应用,其控制器使用create方法调用matchs:defcreate@match=Match.new(params[:match])respond_todo|format|[email protected]#dostuffhereendend这是我的模特classMatch<ActiveRecord::Baseattr_protectedhas_attached_file:pic,:s

我有一个Rails应用,其控制器使用create方法调用matchs:

def create@match = Match.new(params[:match])respond_to do |format|  if @match.save    #do stuff here  endend

这是我的模特

class Match < ActiveRecord::Base  attr_protected  has_attached_file :pic, :styles => { :medium => "500x500>"}end

我希望能够使用该Rails服务器,以便我的AndroID手机能够将图像上传到该服务器.我为此尝试了一些代码示例,但无法正常工作.

关于如何编写方法来执行post方法调用以上传图像的任何想法?

如果有什么资源可以帮助我,请您指导我吗?

*编辑***

这是我之前尝试过的代码

public voID callPost(){    httpClIEnt clIEnt = new DefaulthttpClIEnt();    httpPost post = new httpPost("http://192.168.1.7:3000/matches");    multipartentityBuilder build = multipartentityBuilder.create();    file file = new file(Environment.getExternalStorageDirectory()            .getabsolutePath()+"/test.jpg");    build.addPart("pic", new fileBody(file));    httpentity ent = build.build();    post.setEntity(ent);    httpResponse resp = null;    try    {        resp = clIEnt.execute(post);        httpentity resEnt = resp.getEntity();        String result = EntityUtils.toString(resEnt);        tv.setText(result);    }    catch(Exception e)    {        tv.setText("error");        e.printstacktrace();    }}

这是我尝试测试是否可以使POST方法正常工作的代码.

这段代码将图像作为二进制数据流发送(我认为),因此我的服务器日志中出现此错误:

Parameters: {"match"=>{"pic"=>"\xFF\xD8\xFF\xE1a\xDFExif\u0000\u0000MM\u0000*\u0000\u0000\u0000\b\u0000\b\u0001\u000F\u0000\u0002\u0000\u0000\u0000\u0004LGE\u0000\u0001\u0010\u0000\u0002\u0000\u0000\u0000\b\u0000\u0000\u0000n\u0001\u001A\u0000\u0005\u0000\u0000\u0000\u0001\u0000\u0000\u0000v\u0001\e\u0000\u0005\u0000\u0000\u0000\u0001\u0000\u0000\u0000~\u0//Tonnes more of this\xE3?\x86+9l\r\xB4\x81o\"\xB6բ{\xD5+\u0003\xB1\u0001\x87+\x91\xF8t\xCF\xF5\xAB^ \xD0භ\x91\xE0\x84\xCD\f\xAD\x8D\xFB\xF8C\xD7\u0018\xFC\xEB6IR\xF2\xD7̒S\u001Eᔄ(\vK\xA5\x82\xE17yN\xA3\xEE\xF5\xE7\u07B4\xBC5%\x96\xAFnЉ\t\u000Ex|g\a\xE9\xFD>\xB5.\xB9\xA0\xE8\xDA%\xB0\xBF\x96\u0004\x9E\xE4.\u0016\xE0\f\x98c\xC8\xC9\xFA\u001Er}\xA9\x8A\xD7G\xFF\xD9"}}Completed 500 Internal Server Error in 1ms

解决方法:

更改控制器中的代码

@match = Match.new(params[:match])

@match = Match.new(:pic => params[:pic])

这将破坏浏览器的兼容性,但是它将在移动客户端上运行.

为浏览器创建另一个控制器.

总结

以上是内存溢出为你收集整理的android-通过带回形针插件的Rails服务器通过Post方法上传图像全部内容,希望文章能够帮你解决android-通过带回形针插件的Rails服务器通过Post方法上传图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1088080.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存