从输入流创建字节数组的首选方法是什么?
这是我目前使用.NET 3.5的解决方案.
Stream s;
byte[] b;
using (BinaryReader br = new BinaryReader(s))
{
b = br.ReadBytes((int)s.Length);
}
Run Code Online (Sandbox Code Playgroud)
读取和写入流的块是否仍然是一个更好的主意?
我知道如何编码/解码一个简单的字符串到/从base64.
但是,如果数据已经写入FileStream对象,我该怎么做呢?假设我只能访问FileStream对象,而不能访问之前存储的原始数据.在将FileStream刷新到文件之前,如何将FileStream编码为base64.
在我将FileStream写入文件之后,我可以打开我的文件并对其进行编码/解码,但我想一步一步完成所有这一切,而不是一个接一个地执行两个文件操作.该文件可能更大,并且在刚刚保存一段时间后再加载,编码并再次保存它也需要两倍的时间.
也许有人认识一个更好的解决方案?我可以将FileStream转换为字符串,对字符串进行编码,然后将字符串转换回FileStream,例如,我将做什么以及这样的代码将如何?
我将图像添加为文件并将类型设置为资源(参见屏幕截图)如何在不使用resx文件等的情况下将其作为字节数组拉出来?

我正在尝试获取Request.Bodyasp.net core 1.0 中的原始内容,我想知道获取整个 body 的正确方法是什么byte[]。如果您有类似情况的经验并知道“正确”的做法,请分享。
有谁能告诉我如何将pdf流式传输到新的标签浏览器?我只是在内存上有pdf流,当我点击链接在新标签页或窗口浏览器中显示PDF时我想要.我怎么能这样做?谢谢!!!
我有这个链接:
<a id="hrefPdf" runat="server" href="#" target="_blank"><asp:Literal ID="PdfName" runat="server"></asp:Literal></a>
Run Code Online (Sandbox Code Playgroud)
在我的代码后面我在onload事件上有这个:
Stream pdf= getPdf
if (pdf != null)
{
SetLinkPDF(pdf);
}
private void SetLinkPDF(IFile pdf)
{
hrefPdf.href = "MyPDF to the Browser"
PdfName.Text = pdf.PdfName;
}
Run Code Online (Sandbox Code Playgroud)
不过,我必须处理流pdf(IFile包含PDF的名称,流,元数据等)
我可以做些什么来处理这个以及当我点击在新浏览器中显示流时?
我有另一个问题,是OnClientClick ="aspnetForm.target ='_ blank';" timbck2建议我.我必须在新窗口中打开文件(图像或pdf),我该怎么办?不工作这个.谢谢!
Timbbck2我的asp代码是:
<asp:LinkButton runat="server" ID="LinkButtonFile" OnClick="LinkButtonFile_Click" OnClientClick="aspnetForm.target = '_blank';"></asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
谢谢!!!
我需要从这里获取C#中的货币值列表:http: //openexchangerates.org/currencies.json
产生这种输出:
{
"AED": "United Arab Emirates Dirham",
"AFN": "Afghan Afghani",
"ALL": "Albanian Lek",
"AMD": "Armenian Dram",
"ANG": "Netherlands Antillean Guilder",
"AOA": "Angolan Kwanza"
// and so on
}
Run Code Online (Sandbox Code Playgroud)
我设法使用C#获取包含上述值的字符串,但我找不到将该字符串反序列化为任何自定义类或匿名对象的方法,所以我想知道如何做到这一点?
此外,我正在尝试使用Json.NET来做到这一点,但到目前为止找不到解决方案......
我有一个控制器端点,它提供如下文件服务;
[HttpGet]
[ProducesResponseType(typeof(FileStreamResult), 200)]
[Route("{documentId}")]
public IActionResult GetDocumentImage(int documentId)
{
var response = _service.Get(documentId);
HttpAssert.Success(response);
HttpAssert.IsNotNull(response);
Stream stream = new MemoryStream(response.Result.Data);
if (stream == null)
return NotFound();
return File(stream, response.Result.MimeType);
}
Run Code Online (Sandbox Code Playgroud)
src当设置为标签时,这非常有效img,并且可以确认文件是否已成功发送。
我想在页面中使用结果blazor razor。我使用反序列化调用
var responseContent = await response.Content.ReadAsStringAsync();
if (response.IsSuccessStatusCode)
{
var result = JsonConvert.DeserializeObject<T>(responseContent);
return new ServiceResponse<T> { Result = result, HasError = false, HttpErrorCode = -1, Error = null };
}
Run Code Online (Sandbox Code Playgroud)
但是,当我反序列化为object(with JsonConvert.DeserializeObject<T>(responseContent))
ex.Message当我调试并尝试在我得到的监视窗口中进行评估时,会抛出错误,但没有
'解析值时遇到意外字符:%。路径“”,第 0 行,位置 0。” …
c# ×7
asp.net-core ×2
.net ×1
.net-3.5 ×1
asp.net ×1
base64 ×1
blazor ×1
file ×1
filestream ×1
inputstream ×1
json ×1
object ×1
pdf ×1
stream ×1
string ×1