我有一个我想上传的文件的路径,但该方法接受文件输入Stream。
有人能告诉我如何从路径中获取输入流吗?
我在使用打开的文件对话框之前上传文件并将文件作为文件输入Stream,但是我的网页的新部分用户没有选择文件,我必须用代码抓住它,但我知道它的文件路径。
public string uploadfile(string token, string filenameP, DateTime modDate, HttpPostedFileBase file)
{
//... code to upload file
}
我想要类似于Java中的ClassLoader。
请在此处查看此问题。
答案 0 :(得分:6)
您可以将StreamWriter和StreamReader类用于此目的:
// for reading the file
using (StreamReader sr = new StreamReader(filenameP))
{
//...
}
// for writing the file
using (StreamWriter sw = new StreamWriter(filenameP))
{
//...
}
答案 1 :(得分:3)
使用File.OpenRead(path)
FileStream Class on Microsoft Docs
答案 2 :(得分:2)
public string uploadfile(string token, string filenameP, DateTime modDate, HttpPostedFileBase file)
{
using (StreamReader reader = new StreamReader(filenameP))
{
//read from file here
}
}
P.S。不要忘记包含System.IO命名空间
编辑:System.IO中的流操作类正在包装Stream基类。 reader.BaseStream属性将为您提供该流。
答案 3 :(得分:0)
首先在您的文件上打开输入流
然后将该输入流传递给您的上传方法
例如:打开文件流
// Character stream writing
StreamWriter writer = File.CreateText("c:\\myfile.txt");
writer.WriteLine("Out to file.");
writer.Close();
// Character stream reading
StreamReader reader = File.OpenText("c:\\myfile.txt");
string line = reader.ReadLine();
while (line != null) {
Console.WriteLine(line);
line = reader.ReadLine();
}
reader.Close();
答案 4 :(得分:0)
在C#中,获取Stream的方式(无论是输入还是输出): 使用Stream中的派生类,例如new FileStream(inputPath,FileMode.Open)