【发布时间】:2013-06-27 19:37:51
【问题描述】:
我允许用户上传文件(doc、pdf、excel、txt),然后我传入 FileStream 进行读取然后写入,但打开它后我正在调用存储过程,以便我可以存储文件名,日期,上传用户以及我将在哪里复制它。我的问题是如何处理已在 FileStream 中传递的字符串文件名,而存储过程需要一个字符串文件名。
string docx = @"../../TestFiles/Test.docx";
try
{
FileStream fileStream = new FileStream(docx, FileMode.Open, FileAccess.Read);
docConverter.UpLoadFile(11, "Test.docx", "../../TestFiles/", 1, "../../Temp/", 89);
}
public void UpLoadFile(int studentId, string rawStoragePath, int uploadedByUserId, string storagePath, int assignmentElementsId)
{
Guid strGUID = Guid.NewGuid();
DateTime uploadDate = DateTime.UtcNow;
//calling stored procedure
stuSubSvc.UploadWork(studentId, strGUID, (need to pass file name), rawStoragePath, uploadDate, uploadedByUserId, storagePath, 0, assignmentElementsId);
}
帮助:
1 - 从 FileStream 中的文件中获取文件名
2 - 从 FileStream 获取上传文件的路径
【问题讨论】:
-
在您的示例中使用 rawStoragePath 怎么样,因为它本身就是一个文件名。
-
@vendettamit 我想我可以使用 fileStream.Name 来获取正在上传的文件的完整路径,但是有没有办法让我得到 'Test.docx' 而不是 '../. ./Test.docx'?
-
试试 Path.GetFileName(".././Test.docx")
标签: c# asp.net-mvc filestream