html复杂url提交

在使用手机向webapi发送照片请求的时候遇到一个问题,关于base64位字符串码无法识别,提交的表单是这样的:

<form id="form1" method="post" action="http://localhost:10322/food/Buy?date=‘2015-2-12‘&content=balabala内容">
<div>
<input type="text" name="PhotoInfo" value="base位码"/>
<input type="submit" value="提交" />
</div>
</form>

由于PhotoInfo特别长,不能放在url拼接,会报异常,所以放在form里面提交,但是api端却捕捉不到,产生url异常.

解决方案:在对应的buy方法的PhotoInfo参数前面加上[Frombody]标记

public ResponseMessage Buy(string date,string content,[FromBody] string PhotoInfo)

加上这个标记后,webapi端能找到了,但是又有问题出现了,photoInfo明明有值,传进来却是null,查了一下,默认string类型不会传值,必须用自定义类型,好吧,定义个自定义类型

public class Photo {
        public string Extension { get; set; }
        public string PhotoImage { get; set; }
    }

然后在参数使用的地方改成

public ResponseMessage Buy(string date,string content,[FromBody] Photo PhotoInfo)

取值的地时候要用PhotoInfo.PhotoImage,这时候就有值了,另外,在传base64位码的时候,前面的data:image/gif;base64, 这个不能加上,加上识别不了。

时间: 2024-10-07 19:36:13

html复杂url提交的相关文章

Spring MVC url提交参数和获取参数

普通URL提交参数 该格式url为:url.do?param1=mahc&param2=8888.00 需要在上文中的HelloController对象添加方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 /**      * Spring MVC URL提交参数      * @param name      * @return      */     @RequestMapping(/param)     public ModelAndView getInfo(@Request

php防止伪造数据从URL提交解决方法

php防止伪造的数据从URL提交方法. 针对伪造的数据从URL提交的情况,首先是一个检查前一页来源的如下代码: <?/*PHP防止站外提交数据的方法*/ function CheckURL(){ $servername=$_SERVER['SERVER_NAME']; $sub_from=$_SERVER["HTTP_REFERER"]; $sub_len=strlen($servername); $checkfrom=substr($sub_from,7,$sub_len);

url % 提交问题

今天遇到一个url特殊字符的问题,ajax后台提交的时候,再后台并没有过去到想要的参数,显示为null 最后得知是由于url中包含%,解决办法办法其实非常简单,需要把%全部替换成%25 解决办法如下: 在js代码中替换文本中的所有% json.sfval=sfval.replace(/\%/g,'%25');

采用url链接形式提交action(非s:from方式提交)

在我们日常开发中,并不是都适合form提交,如在无线网络领域,使用form提交会导致部分手机无法解析该标签,这时候,我们可爱的url链接提交就会得到更广泛的应用了 1. 标准的WML1.0表单提交格式 <anchor>提交 <go href="<s:url value='/wap/postParams.action/>" method="get"> <postfield name="param1" val

表单的提交方式

form提交主要有下面3种方式: application/x-www-form-urlencoded: 窗体数据被编码为名称/值对.这是标准的编码格式. 这是默认的方式 multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分. 二进制数据传输方式,主要用于上传文件 text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符. 表面现像上面看看GET和POST的区别: 1.GET请求的数据会附在URL之后(就是把数据放置在HTT

form表单常用提交方式—get与post的区别

表单有两种提交方式:get与post <form name="regForm" action="动作" method="提交方式"> </form> 1.get 以明文的方式通过URL提交数据,数据在URL中可以看到.提交数据最多不能超过2kb,安全性较低,但效率比post高.适合提交数据量不大安全性不高的数据,如搜索.查询等功能. 2.post 将用户提交的信息封装在HTML HEADER内,适合数据量大安全性高的用户信

Extjs 表单提交送给新手

Extjs的三种提交方式: 表单Ajax提交,普通提交,单独Ajax提交: 1.表单ajax提交(默认提交方式) 提交函数:当按下表单中的提交按钮时执行下面的btn函数,按照表单的name进行提交.提交数据后根据后台的返回值不同来回调success或者failure函数(和单独ajax的提交不同),后台返回值的形式:[如果返回outputResult(“{success:true}”),则调用success的函数.如果返回:outputResult(“{success:false,reason:

ASP.NET Post方式提交

public static string SendMsg(string fxPhone, string fxPassword, string toPhone, string msg) { try { string url = "u=" + fxPhone + "&"; url = url + "p="; url = url + fxPassword + "&"; url = url + "to=&qu

URL传含特殊字符参数的问题

[故障引起的故事]URL中带加号的处理 来源: http://agapple.iteye.com/blog/773061 html   javaScript  Http协议 问题起因:      URL传参,因为此种方式传参是可视的(http://xxx/xxx?jobnum=SH0721),考虑到安全性,对参数部分进行了加密处理(http://xxx/xxx?jobnum=tNOb6+SinJs=)后参数出现了特殊符号, 而在服务端接受到对应的请求参数时,发现参数值 为“tNOb6+SinJs