0

我使用文件上传器控件。我希望用户:

1)搜索任何位置

2) 选择并加载任何 .JPG 文件或任何其他图像格式文件

3)将该特定文件存储在数据库(SQL)中。

解决方案:我实现了所有这些,但是我对路径进行了硬编码。

问题:我不知道如何删除这个硬编码并达到以上 3 点 :( 请帮助调整代码:

if (FileUpload1.HasFile)
{
   FileStream FS = new FileStream(@"C:\Users\Ramakrishnan\Desktop\New folder\001.jpg", FileMode.Open, FileAccess.Read);
   byte[] img = new byte[FS.Length];
   FS.Read(img, 0, Convert.ToInt32(FS.Length));
}
4

4 回答 4

0

文件上传控件具有流属性,只需将您的FS变量替换为FileUpload1.FileContent.

**更新**

根据评论中的讨论,我认为您仍然做错了。

您的代码应该是:

if (FileUpload1.HasFile)
{
   byte[] img = new byte[FileUpload1.FileContents.Length];
   FileUpload1.FileContents.Read(img, 0, Convert.ToInt32(FS.Length));
   // Store the image in the DB
}

没有理由尝试从文件系统打开文件,您感兴趣的文件在 Web 服务器的文件系统中不存在

于 2012-08-24T15:23:23.497 回答
0

文件上传1.文件名

如何:使用 FileUpload Web 服务器控件上传文件

于 2012-08-24T14:59:06.207 回答
0

这些链接通过 winforms 的示例对其进行了解释:

http://dotnetperls.com/openfiledialog

http://www.geekpedia.com/tutorial67_Using-OpenFileDialog-to-open-files.html

这个用于网络表单:

文件上传到文件流

于 2012-08-24T15:06:42.213 回答
0
        string filename = Path.GetFileName(FileUpload1.FileName);
        FileStream FS = new FileStream(filename, FileMode.Open, FileAccess.Read);
于 2012-08-24T15:07:44.363 回答