用FileUpload控件上传文件,将上传的文件,每一行赋值给结构体数组。请问,如何找到上传的文件。

实际上上传的文件实际上是放在本地的,本人不太会C#,求高手指导怎么获取该文件的路径。如何用C#实现赋值给结构体的功能!... 实际上上传的文件实际上是放在本地的,本人不太会C#,求高手指导怎么获取该文件的路径。如何用C#实现赋值给结构体的功能! 展开
 我来答
毓闻瑶4x
2012-03-19 · TA获得超过153个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:118万
展开全部
在界面上使用FileUpload控件时,最好在此控件后面添加一个保存按钮,在按钮中处理上传控件中的文件。
当用户点击按钮,触发按钮事件时,首先判断上传控件中是否选择了文件
if (FileUpload1.HasFile)
{ ... }//在文件被选择的情况下,才进行处理,基本上所有的处理代码都可以写在这个IF中。未选择文件就忽略,不做处理。
string fileName = FileUpload1.FileName;//获取文件名
string filepath = FileUpload1.PostedFile.FileName;//获取文件客户端路径
//读取上传文件到内存中
Stream stm = FileUpload1.FileContent;
StreamReader sr = new StreamReader(stm);
string buffer = sr.ReadToEnd();//读取流的当前位置到末尾
string[] fileLine = buffer.Split((char)0x0d);//根据换行分隔,存入到数组
也可以把上传文件从客户端保存到服务端
filePath = @"D:\upload\fileName.xls"; //保存至服务端的地址
FileUpload1.PostedFile.SaveAs(filePath);//进行文件的保存处理
追问
怎么将读入每一行存入到结构体数组中呢?
结构体如下:
public struct file_save
{
public string str;
public file_save(string str)
{
this.str = str;
}
}
file_save[]f_s=new file_save[100];
追答
这个结构体我不怎么用,不过根据上面的资料,你可以看到上传的文件已经根据每行分隔,存入到数组fileLine中
也就是说,fileLine数组的每个下标,代表文件的一行。
你可以操作这个数组,把文件存入到结构体中。
或者说,可以不使用结构体,这个数组已经实现了你所需要的功能
FantasyChump
2012-03-19 · TA获得超过3287个赞
知道大有可为答主
回答量:2127
采纳率:0%
帮助的人:2221万
展开全部
在服务器端读取还是什么?服务器端读取的话,上传的文件内容位于 FileUpload.FileContent中。然后你可以创建一个基于它的StreamReader再进一步用读出所有的内容。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式