winform 上传文件至数据库

kevinhu520 2009-05-26 10:30:25
string strDocExt;
//string strDocType;
int intDocLen;
string filePath = "";

FileStream objStream;
if (fileName == "")
{
MessageBox.Show("要上传的文件不允许为空!", "系统提示");
}
else
{
filePath = fileName;
strDocExt = filePath.Substring(filePath.LastIndexOf(".") + 1);
string filen = filePath.Substring(filePath.LastIndexOf("\\") + 1);
objStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
if(objStream.CanRead)
{
intDocLen = Convert.ToInt32(objStream.Length);
byte[] Docbuffer = new byte[intDocLen];
objStream.Read(Docbuffer, 0, intDocLen);

InsertFile(filen,Docbuffer, strDocExt, extendedName);
}
}


这是我写的上传文件到数据库。
不知道那写的有问题
下载下来的数据为System.Byte[]
不知道为什么byte[]里面没有字节数
...全文
389 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingn 2009-06-01
  • 打赏
  • 举报
回复
string filename = fileName.Substring(fileName.LastIndexOf("\\") + 1);
string filenameExt = fileName.Substring(fileName.LastIndexOf(".") + 1);

FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
BinaryReader r = new BinaryReader(fs);
try
{
byte[] postArray = r.ReadBytes((int)fs.Length);
if(fs.CanRead)
{
fs.Read(postArray, 0, postArray.Length);
InsertFile(filename, postArray, filenameExt,extendedName);
MessageBox.Show("文件上传成功!", "系统提示");
}
}
catch (System.Exception e)
{
MessageBox.Show("文件上传出错,请重试..", "系统提示");
}
fs.Close();
kevinhu520 2009-05-31
  • 打赏
  • 举报
回复
up
yuekai2008 2009-05-31
  • 打赏
  • 举报
回复
学习中!
suners 2009-05-31
  • 打赏
  • 举报
回复
受益 受益
bingbingw 2009-05-31
  • 打赏
  • 举报
回复
上面的就行
bbb332 2009-05-27
  • 打赏
  • 举报
回复
学习了
happyer_longlong 2009-05-27
  • 打赏
  • 举报
回复
本实例实现功能:通过OpenFileDialog选择待上传的文件,并将所选文件的完整路径绑定到TreeView控间中显示,然后通过FolderBrowserDialog选择上传的文件路径,最后通过FileStream的方法将文件以二进制流的形式写入到所选路径的对应文件中。
其中:
trvFile为TreeView控间,显示待上传的文件;lablContent为Lable控间,显示待上传文件的信息和上传结果;btnSearch为Button控间,执行选择文件的功能;btnUpload为Button控间,执行文件上传的功能。
详细代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsApplication1
{
public partial class FileUpLoad : Form
{
public FileUpLoad()
{
InitializeComponent();

this.lablContent.Text = "附件名称:";
}

private void btnSearch_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();

ofd.ShowDialog();

//得到上传文件的完整名
string loadFullName = ofd.FileName.ToString();

//上传文件的文件名
string loadName = loadFullName.Substring(loadFullName.LastIndexOf("\\") + 1);

//上传文件的类型
string loadType = loadFullName.Substring(loadFullName.LastIndexOf(".") + 1);

this.lablContent.Text += "\n"+loadFullName;

AddFileToTreeView(loadFullName, loadName);
}
选择文件完成后的,用户界面如下图所示:

/// <summary>
/// 上传文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void btnUpload_Click(object sender, EventArgs e)
{
TreeNodeCollection tnNodeColl = trvFile.Nodes;

int nodeCount = tnNodeColl.Count;

int successCount = 0;

if (nodeCount > 0)
{
//
//选择保存文件的路径
//
folderBrowserDialog1.ShowDialog();

string loadPath = folderBrowserDialog1.SelectedPath;

string nodeText = string.Empty;

string nodeTipText = string.Empty;

foreach (TreeNode node in tnNodeColl)
{
if (node.Checked)
{
nodeText = node.Text.ToString();

nodeTipText = node.ToolTipText;

string loadFile = loadPath + "\\"+nodeTipText;

bool isExists = JudgeFileExists(loadFile, nodeTipText);

if (isExists)

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
详细去 http://www.diybl.com/course/4_webprogram/asp.net/asp_netshl/2008124/97090_2.html看吧

kevinhu520 2009-05-27
  • 打赏
  • 举报
回复
没有存进去
kevinhu520 2009-05-27
  • 打赏
  • 举报
回复
up
SunSiShuXu 2009-05-26
  • 打赏
  • 举报
回复
还是用WebClient上传吧 比较好用
enihs 2009-05-26
  • 打赏
  • 举报
回复
存进去没有
wuyq11 2009-05-26
  • 打赏
  • 举报
回复
可用WebClient 上传
参考

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧