zoukankan      html  css  js  c++  java
  • 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, 这个不能加上,加上识别不了。

  • 相关阅读:
    5.21 CSS样式表练习
    5.20 c#验证码练习
    5.20 邮箱注册,及网页嵌套,知识点复习
    5.19 网页注册练习
    5.19练习标签及其 定义
    5.16 兔子生兔子,日期时间练习
    5.15 复习;共5题
    5.11 集合 与 特殊集合
    5.11 集合与特殊集合
    WinForm1
  • 原文地址:https://www.cnblogs.com/sky2014/p/4287574.html
Copyright © 2011-2022 走看看