我编写了我的第一个ASP.NET Core Web API服务器.路由正在运行,正在发送/接收.我想发送一个原始的Byte数组来响应Get,我想绕过任何序列化(以及我的WPF客户端中的任何反序列化).例如,在我的服务器中:
[HttpGet("api/data")]
public Byte[] GetData()
{
Byte[] data = new Byte[]{1, 2, 3, 4, 5};
return data; // No JSON, BSON or anything else...just my array. Is it done this way?
}
Run Code Online (Sandbox Code Playgroud)
在我的WPF客户端中,我想使用HttpClient类来接收数组 - 不需要反序列化:
// Assume an instantiated and initialized HttpClient object called "httpCLient"
HttpResponseMessage response = httpClient.GetAsync("/api/data").Result;
// Now what?
Run Code Online (Sandbox Code Playgroud)
我已经浏览了互联网,但我没有找到这方面的例子,而且我一直无法弄清楚.有人可以告诉我这是怎么做到的吗?
更新:我相信客户端Byte []检索可以通过"HttpContent.ReadAsByteArrayAsync()"完成,如下所示:将HttpContent转换为byte [].我仍然不确定如何从ASP.NET Core Web API端发送原始(未序列化)Byte [].
我正在将 matplotlib 嵌入到我的 PyQt4 GUI 中,而且我玩得很开心。我可以显示图像,但它在我想要删除的内容周围添加了非常厚的填充。这是我在做什么:
from PyQt4.QtCore import *
from PyQt.QtGui import *
import numpy as np
from matplotlib.figure import Figure
from matplotlib.backends.backend_qt4Agg import FigureCanvasQTAgg as FigureCanvas
import matplotlib.image as mpImage
import matplotlib.pyplot as plt
class MatPlotLibImage(FigureCanvas):
def __init__(self):
super(MatPlotLibImage, self).__init__(self.fig)
self.axes = self.fig.add_subplot(111)
def LoadImage():
image = mpImage.imread("myImage.png")
imgplot = self.axes.imshow(image, interpolation="nearest")
# plt.axis("Off") -> Doesn't do anything as far as I can tell
imgplot.axes.set_axis_off() # Gets rid of frame
imgplot.axes.get_xaxis().set_visible(False) # Turn off x-axis
imgplot.axes.get_yaxis().set_visible(False) # Turn …Run Code Online (Sandbox Code Playgroud) 我一直在从我的 ASP.NET Core web api 中返回 HTTP 状态代码,如下所示:
// Return code 200:
return Controller.Ok(someOptionalMessageHere);
Run Code Online (Sandbox Code Playgroud)
我现在需要返回状态代码 304(即未修改),但我在“Microsoft.AspNetCore.Mvc.Controller”类中没有看到任何来自智能感知的内容,这些命名空间也没有出现在在线API 浏览器 (?)。这样做的正确方法是什么?