FeelyBlog

关于NPOI的两个坑——保存到MemoryStream自动关闭和AddPicture生成的文件打不开的问题

zyzsdy at 2021-08-25 15:52:51

今天踩了两个NPOI的坑,一个比一个气人。 故事背景都是要导出Excel或者Word。 # 1. 导出Excel,写入Stream被关闭 很普通的导出Excel,于是后端先去数据库里查数据,然后用NPOI生成Excel表格,把生成的结果传给前端,触发浏览器下载保存到本地。 按照这个思路,我们很快写出了代码,然而却发现导出存在问题!出问题的代码是这样的: ```csharp using var ms = new MemoryStream(); workbook.Write(ms); ms...


拯救右键菜单——关于如何解决.ts的视频点了右键要转圈很久才能弹出菜单的问题

zyzsdy at 2021-08-25 14:47:47

# 问题描述 其实这个问题碰到很久了,但是最近又有挺多人来问我,该写个文章说明一下为什么,以及应对策略了。 ----------------- ![screenshot_12](https://pic3.zhimg.com/80/v2-6840396da5e656cffbbe2592cbd6d442_720w.jpg) 像我们这样经常看网络直播的,就经常有录下一场精彩的直播的需求。但是有些从Youtube上下载来的 .ts 后缀的 MPEG-2 TS VIDEO 视频文件,当你想要点右键...


如何使用PEM格式的证书文件和密钥生成pfx格式

zyzsdy at 2020-07-17 11:02:11

`.pfx`是PKCS#12标准带有私钥的证书的后缀名,很多asp.net core部署https时需要使用pfx格式证书。而一般使用的PEM格式的证书为base64编码的纯文本,后缀可以为pem,也可以是crt。 使用openssl将pem格式的证书和私钥转换为一个pfx格式的带有私钥的证书: 如下 ```bash openssl pkcs12 -inkey website_key.pem -in website_cert.cert -export -out website_pfx.pf...


使用root用户进行npm install

zyzsdy at 2020-07-09 14:02:35

简单的说,npm一般会使用 nobody 用户,很多时候没有权限。当然正常情况npm也不需要什么权限。但是总有一些自以为很nb的sb包要权限(说的就是你 clientjs ),这个时候就需要给它点权限才能正常npm install。但是用root账户npm install仍然是权限不足。这是因为npm内部不会使用当前执行的用户,而是继续用它的 nobody。如果需要用当前登录账户授权,就需要增加一个参数unsafe-perm,如果使用的root,还要增加allow-root。 所以就是这样: ...


获取Windows唯一识别码

zyzsdy at 2019-10-08 16:39:20

我们时常会有唯一认证某台机器的需求,比如在软件注册和激活上,如何保证激活的软件副本和安装机器的对应。很常见的方式是获取一个唯一识别码,并传给后端进行存储。验证时匹配这个唯一识别码即可。 唯一识别码最好和系统无关,这样在用户重装系统后仍然可以激活软件。 以前我们常用的是网卡mac地址,但是网卡mac地址很容易修改,用户也可能有多张网卡并经常更换。 另外一种选择是CPU序列号,但是近年的Intel CPU不再区分同一批次中各个CPU的序列号,这样就有可能两台电脑获得的CPU序列号是一样的。在办...


.NET Core GRPC使用初探

zyzsdy at 2019-09-03 15:20:43

最近需要使用.NET Core搞一个需要和服务器通信的项目。通信协议是protobuf定义的。 我想既然客户端和服务器都是.NET Core,协议都protobuf写好了,那干脆上个gRPC呗。 于是研究了一下。发现.NET Core的gRPC还挺好用的。 以下为我今天研究的内容: -------------- ## 协议库 建立一个 .NET Standard Library 项目,添加如下依赖项: ( .NET Standard Library 可以同时兼容 .NET Core...


编译Windows版的带rtmp的nginx

zyzsdy at 2019-05-22 14:54:51

看了一下这两年博客文章产量骤减,这样是不行的呀。 上次写关于nginx-rtmp-module的话题还是两年半之前的2016年。当年,即使是在Ubuntu上,安装带rtmp模块的nginx还要手动编译,因此有了那一篇文章。 不过Ubuntu 18.04开始,rtmp-module已经进了apt库,借着这两年直播越来越火的东风,从一个小众应用变成了众多用户使用的重要组件。同样地,有很多在生产环境上的大型应用也在使用这个nginx-rtmp-module。 如今,如果你是Ubuntu 18.0...


cmd如何调整consolas字体的大小

zyzsdy at 2018-03-24 20:09:41

不是consolas很难看,但是直接调又找不到consolas,实际上是微软对亚洲字体要求真的很严格。 chcp 437 在属性里调整,改好以后 chcp 936 おまけ: 从头设置来一遍吧: 1. 给consolas添加微软雅黑的fallback: 定位到HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\FontLink\\SystemLink 添加...


本地看到https的小绿锁【改】——你们Chrome真的很严格

zyzsdy at 2018-03-14 13:37:25

[三年前写了一篇博客](https://zyzsdy.com/article/58)讲如何建立自签名的CA给本地https调试时候用。没想到最近没用了。看到 https://127.0.0.1 的前面再次打上了一条红色的斜线还有“不安全”三个大字,心里很不是滋味。 查了一下发现你们Chrome现在不许在使用者name里直接写IP了,而且域名和ip都要写到Altername里去。于是就来说说怎么重新看到https的小绿锁。 没读过三年前那篇文章的读者,千万不要去看!只看这篇就够了! ----...


【转载】使用FFmpeg在B站直播的姿势

zyzsdy at 2017-03-20 13:43:02

转载一篇妹空酱写的东西 ========================================= 在B站直播已经成了潮流,但是有时候我们总有一些奇怪的需求: 1. 我的机器配置烂死了,无法做到x264实时压制然后推流,我只想复制视频流放个片。 2. 我想在服务器上无人值守转播内容。 Oh,你需要FFmpeg。 在Windows下,只需要下载一个编译好的ffmpeg.exe即可。而对于Linux用户,编译一个相信也难不倒你吧~ 先谈谈我们的第一个需求,复制视频流播片。 ...