asp.net 发送http get请求,然后取返回来的文件或者字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net 发送http get请求,然后取返回来的文件或者字符串相关的知识,希望对你有一定的参考价值。
在微信开发的时候,向微信服务器发送http请求,下载我之前上传的Img,
然后把下载到的img转成二进制存到数据库里面
接口调用请求说明
http请求方式: GET
http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID
正确情况下的返回HTTP头如下:
HTTP/1.1 200 OK
Connection: close
Content-Type: image/jpeg
Content-disposition: attachment; filename="MEDIA_ID.jpg"
Date: Sun, 06 Jan 2013 10:20:18 GMT
Cache-Control: no-cache, must-revalidate
Content-Length: 339721
curl -G "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"
错误情况下的返回JSON数据包示例如下(示例为无效媒体ID错误)::
"errcode":40007,"errmsg":"invalid media_id"
请问我怎么写代码,我可以既获取文件也知道错误信息
http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID" 参考技术A 会获取的话,还有什么问题?
判断一下ContentType就能知道返回的是正常的图片,还是返回的错误信息。追问
我要的是代码
参考技术B 他也不知道,是来混分儿的。我也正愁这个问题呢从角度12将类对象发送到asp.net core web api http get方法
【中文标题】从角度12将类对象发送到asp.net core web api http get方法【英文标题】:Sending class objet to asp.net core web api http get method from angular 12 【发布时间】:2021-12-21 06:44:51 【问题描述】:我有一个如下的 web api 方法 `
[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
private readonly ISearchService _searchService;
public TestController(IRequestService searchService)
_searchService = searchService;
[HttpGet, Route("search")]
public List<ResponseViewModel> search([FromBody] SearchViewModel search)
return _searchService.GetSearchResults(search);
`
SearchViewModel.cs
`public class SearchViewModel
public int ProductId get; set;
public int StatusId get; set;
public int ItemId get; set;
`
问题:
我想从 Angular 12 向上面的 Http Get 操作方法发送一个 SearchViewModel 类类型的对象。
我可以通过 [FromBody] 装饰 search 参数来使用 HttpPost 来实现这一点。但是有人可以告诉我如何使用 HttpGet 来做到这一点。
提前致谢。
【问题讨论】:
【参考方案1】:HttpGet 无法发布正文。所以你不能用 HTTP get 方法传递一个对象。但是您可以传递 URL 查询参数,然后稍后在控制器中捕获它们。
例如您可以通过查询参数传递这些数据。那么你的 url 可能是这样的,带有查询参数。
http://yourbaseurl/search?ProductId=1&StatusId=34&ItemId=190
然后你可以像这样在 c# 中捕获参数。
public IActionResult YourAction([FromQuery(Name = "ProductId")] string productId,[FromQuery(Name = "StatusId")] string statusId, [FromQuery(Name = "ItemId")] string itemId)
// do whatever with those params
【讨论】:
以上是关于asp.net 发送http get请求,然后取返回来的文件或者字符串的主要内容,如果未能解决你的问题,请参考以下文章
无法使用javascript向ASP.NET web api Controller发送http POST请求
ASP.NET Web API - 请求的资源不支持 http 方法“GET”