c# - 更改流中的文件名
问题描述
我有一个 API 方法,我在流中创建 zip 文件
MemoryStream outputMemStream = new MemoryStream();
ZipOutputStream zipStream = new ZipOutputStream(outputMemStream);
FileInfo fi = new FileInfo(version.File.ContentFilePath);
string entryName = ZipEntry.CleanName(fi.Name);
ZipEntry newEntry = new ZipEntry(entryName);
newEntry.DateTime = fi.LastWriteTime;
newEntry.Size = fi.Length;
zipStream.PutNextEntry(newEntry);
byte[] buffer = new byte[4096];
using (FileStream streamReader = File.OpenRead(fi.FullName))
{
StreamUtils.Copy(streamReader, zipStream, buffer);
}
zipStream.CloseEntry();
zipStream.IsStreamOwner = false;
zipStream.Close();
outputMemStream.Position = 0;
long fileLength;
long startOffset;
long endOffset;
bool isPartial = false;
string errMessage = string.Empty;
Stream fs = FileUpDownHelper.GetPartialFileStream(outputMemStream, out fileLength, out startOffset, out endOffset, out isPartial, out errMessage);
return fs;
然后我需要发送这个文件,但我有一个问题,我无法更改文件名。并且文件名总是=方法名。如何在不创建文件的情况下解决此问题?
解决方案
推荐阅读
- gtk3 - 调用 gtk_drawing_area_new 时出现段错误
- python - 如何将其重构为 CBV django?
- php - 使用 print_r 后如何从数组中获取单个值
- php - Laravel 查询生成器不工作,显示错误
- joomla - 将 Joomla 从本地转移到远程主机
- html - Thymeleaf:未找到并应用 css 路径
- opengl - OpenGL的无损纹理压缩
- ios - SearchBar 没有将我的搜索返回到联系人
- angular - 使用 URL 或路径模式托管子域?
- django - 如何修复heroku“应用程序错误”,其中控制台错误“code = H14 desc =“没有运行Web进程”