打开文件窗口、保存文件窗口、文件流的方法
来源:互联网 发布:淘宝直通车定向投放 编辑:程序博客网 时间:2024/06/04 17:43
打开文件窗口、保存文件窗口、文件流的方法,废话不多说,直接上码
using System;using System.Data;using System.Windows.Forms;using System.Data.SQLite;using System.IO;using System.Diagnostics;namespace IpadDataConvert{ public partial class MainForm : Form { public MainForm() { InitializeComponent(); } /// <summary> /// 存入图片 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "JPEG文件(*.jpg;*.jpeg;*.jpe;*.jfjf)|*.jpg;*.jpeg;*.jpe;*.jfjf|PNG文件(*.png)|*.png;|所有图片(*.*)|*.jpg;*.jpeg;*.jpe;*.jfjf;*.png"; openFileDialog.FilterIndex = 0; openFileDialog.RestoreDirectory = true; openFileDialog.Title = "请选择图片"; openFileDialog.AddExtension = true;//自动添加扩展名 if (openFileDialog.ShowDialog() != DialogResult.OK) { return; } if (string.IsNullOrEmpty(openFileDialog.FileName)) { return; } string imageWithPath = openFileDialog.FileName; string sql = "INSERT INTO Item(title,image) VALUES(?, ?)"; MessageBox.Show(SQLiteDbHelper.Instance.ExecuteNonQuery(sql, new SQLiteParameter("", "test"), new SQLiteParameter("", GetImageData(imageWithPath))).ToString() + "成功"); } /// <summary> /// 获取图片流 /// </summary> /// <param name="imageWithPath"></param> /// <returns></returns> private byte[] GetImageData(string imageWithPath) { FileStream fs = new FileStream(imageWithPath, FileMode.Open); byte[] imageData = new byte[fs.Length]; fs.Read(imageData, 0, imageData.Length); byte[] imageDataAES = AES.AESEncrypt(imageData); fs.Close(); return imageDataAES; } /// <summary> /// 获取图片 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { string sql = "SELECT * FROM Item WHERE title = ?"; DataTable dt = SQLiteDbHelper.Instance.CreateDataTable(sql, new SQLiteParameter("", "test")); Item item = new Item(); item.Title = dt.Rows[0]["title"].ToString(); item.ImageByte = (byte[])dt.Rows[0]["image"]; item.ImageByte = AES.AESDecrypt(item.ImageByte); SaveImage(item); } /// <summary> /// 保存图片 /// </summary> /// <param name="item"></param> private static void SaveImage(Item item) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "JPEG文件(*.jpg;*.jpeg;*.jpe;*.jfjf)|*.jpg;*.jpeg;*.jpe;*.jfjf|PNG文件(*.png)|*.png;|所有图片(*.*)|*.jpg;*.jpeg;*.jpe;*.jfjf;*.png"; saveFileDialog.FilterIndex = 0; saveFileDialog.RestoreDirectory = true; saveFileDialog.CreatePrompt = true; saveFileDialog.Title = "选择图片生成的位置"; saveFileDialog.FileName = item.Title; saveFileDialog.AddExtension = true;//自动添加扩展名 saveFileDialog.OverwritePrompt = true;//覆盖提示框显示 saveFileDialog.CreatePrompt = false;//创建文件不提示 if (saveFileDialog.ShowDialog() != DialogResult.OK) { return; } if (string.IsNullOrEmpty(saveFileDialog.FileName)) { MessageBox.Show("文件名不能为空!"); return; } string imageWithPath = saveFileDialog.FileName; using (MemoryStream ms = new MemoryStream(item.ImageByte)) { using (FileStream fs = new FileStream(imageWithPath, FileMode.Create, FileAccess.Write)) { byte[] data = ms.ToArray(); fs.Write(data, 0, data.Length); fs.Flush(); } } MessageBox.Show("保存完毕!"); } }}
- 打开文件窗口、保存文件窗口、文件流的方法
- MyGui调用Win32窗口打开保存文件
- 打开文件的属性窗口
- 浏览器下载文件,非窗口打开方法
- 将数据窗口保存为Excel文件的方法
- 拖拽文件到窗口即打开的方法
- 拖拽文件到窗口即打开的方法
- 【C#】 打开文件浏览窗口
- QT 打开文件选择窗口
- 文件的打开、保存
- 进程、窗口、文件-----相关方法
- Visio2010多文件在不同窗口中打开的设置方法
- Unity中打开文件窗口(OpenFileDialog)的几种方法对比
- JS打开文件另存为窗口如何实现
- Excel2010分窗口打开excel文件解决方法
- vim 多文件窗口打开切换
- VIM 打开文件和切换窗口
- 点击按钮,打开文件上传窗口
- 约瑟夫问题
- verilog设计经验总结
- Android源代码简要分析
- 访问操作类私有属性和方法的两种方式
- 归并排序
- 打开文件窗口、保存文件窗口、文件流的方法
- Flash PBEngine 使用MovieClip的swc格式
- 10亿个数选取重复次数最多的100个整数
- Windows连接出错总结
- 快速排序
- 堆排序
- Java笔记之泛型接口
- Javascript创建对象的几种方式
- Qsort-快排