当前位置:编程学习 > C#/ASP.NET >>

100分求助,怎么在WinFrom中上传图片~~急,在线等,

怎么在WinFrom中上传图片,是在WinFrom中不是WebFrom,最好代码!! --------------------编程问答-------------------- 分数是100分,不是20分,我忘了改分 --------------------编程问答-------------------- http://www.ppsql.com/software/p227/A22727898.shtml --------------------编程问答-------------------- http://www.sqlsky.com/dotNet/070721/539/ --------------------编程问答-------------------- 往哪传?
如果是数据库
获取图片路径path
FileStream fs = new FileStream(path,FileMode.Open,FileAccess.Read);
byte [] b=new byte[fs.Length];
fs.Read(b, 0, fs.Length);
往数据库存,直接把字节数组Insert进去就行
如果要建立Image,可以先讲字节数组放入内存流中,再生成Image
MemoryStream ms = new MemoryStream(b);
Image image = Image.FromStream(ms); --------------------编程问答-------------------- 是上传到数据库,然后再从数据库中把图片读出来 --------------------编程问答-------------------- 用 <asp:upfile 组件啊,很简单 --------------------编程问答-------------------- 如果文件太大(特别是远程),还需用分块,否则需要设置超时加长,这样界面就像死了一样,不知道究竞传了多少.如果分块还可以采用进度条. --------------------编程问答-------------------- 我有代码,但不在这台机上。下次有机会再送上去。
思路把图片上传比较简单,用image控件直接可以上传。显示就要把读出来二进制转化成图片 --------------------编程问答-------------------- 请问ycg_893 : 远程下载、上传文件如何分块啊?非常谢谢!!! --------------------编程问答-------------------- http://www.80diy.com/home/20031129/03/2507828.html --------------------编程问答-------------------- winform滴呢 --------------------编程问答-------------------- www.jiujiange.com 我们是面向企业员工福利的在线平台,目前需要对系统进行改版,部分版块程序希望外包给有能力的工程师来完成,希望该工程师对.net,c#精通,对mvc架构熟悉,如能进一步对div css切图有所掌握,合作内容更多,如你感兴趣,请尽快联系我们,13524864423,huazhuren@hotmail.com-- mr lay --------------------编程问答-------------------- 唉,你在网上直接搜数据库保存图片 --------------------编程问答-------------------- 在数据库中添加一个image列 我的只有一列 所以是下边代码


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        string conStr = "Data Source=.;Initial Catalog=text;Integrated Security=True";
        SqlConnection connection;
        public Form1()
        {
            InitializeComponent();
        }
        //显示
        private void button1_Click(object sender, EventArgs e)
        {
          connection = new SqlConnection(conStr);
            //二进制格式化器
            BinaryFormatter bf = new BinaryFormatter();

            string sql = "select image from image";//自己加条件啊
            SqlCommand command = new SqlCommand(sql,connection);
            connection.Open();

            byte[] arr = (byte[])command.ExecuteScalar();

            MemoryStream s = new MemoryStream(arr);
            //反序列化
            this.pictureBox2.Image = (Image)bf.Deserialize(s);
            connection.Close();
        }

        private void pictureBox1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            DialogResult result = openFileDialog1.ShowDialog();
            if (result==DialogResult.OK)
            {
                this.pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);
            }

        }
        //保存
        private void button2_Click(object sender, EventArgs e)
        {
            connection = new SqlConnection(conStr);
            //二进制格式化器
            BinaryFormatter bf = new BinaryFormatter();
            //内存流
            MemoryStream ms=new MemoryStream();
            //把图片格式化成二进制保存在内存流中
            bf.Serialize(ms, this.pictureBox1.Image);
            //转换成字节数组
            byte[] arr = ms.ToArray();
            //@image变量
            string sql = "insert into image(image) values(@image) ";
            SqlCommand command = new SqlCommand(sql,connection);
            //给变量赋值
            command.Parameters.Add("@image", SqlDbType.Image).Value = arr;
            connection.Open();
            command.ExecuteNonQuery();
            connection.Close();
        }
    }
}
--------------------编程问答-------------------- 学习中。。。 --------------------编程问答--------------------
获取图片路径path
FileStream fs = new FileStream(path,FileMode.Open,FileAccess.Read);
byte [] b=new byte[fs.Length];
fs.Read(b, 0, fs.Length);
往数据库存,直接把字节数组Insert进去就行
如果要建立Image,可以先讲字节数组放入内存流中,再生成Image
MemoryStream ms = new MemoryStream(b);
Image image = Image.FromStream(ms);

这种方法就很好了 --------------------编程问答--------------------
估计楼主是要传到web服务器上
httpRequest? --------------------编程问答--------------------
引用 3 楼 songhtao 的回复:
http://www.sqlsky.com/dotNet/070721/539/
两个网址都打不开啊! --------------------编程问答--------------------

Using wc As New Net.WebClient
     wc.UploadFile("http://www.baidu.com", "post", "c:\boot.ini")
End Using


就完事了,或用webclient的几个重载方法,比较方便啦.
WebClient,也有异步方式
如果还不爽,用httpwebrequest,再不爽就tcpclient,还不过瘾用socket. --------------------编程问答-------------------- 是呀,就是使用Webclient这个类来处理的。
还有就是使用最基本的http://模式模拟http方式去提交数据。 --------------------编程问答--------------------
引用 14 楼 rcy5211314 的回复:
在数据库中添加一个image列 我的只有一列 所以是下边代码


C# code

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using Syst……

这个可以满足你的需求,先将图片存储到数据库,再需要用的时候就取出图片
取出时记得也要用MemoryStream --------------------编程问答--------------------

        //插入
        private void button6_Click(object sender, EventArgs e)
        {
            count = objFinfo.GetScalar(_hID);
            lb_imageCount.Text = count.ToString();
            FilesData files = new FilesData();
            files.Hid = _hID;
            files.FName = imageName.Text.ToString();
            files.FDate = Convert.ToDateTime(imageDate.Text.ToString());
            byte[] imageFile;
            imageFile = File.ReadAllBytes(ThumbnailPhotoFilePath);
            files.Files = imageFile;
            if (count == 0)
            {
                files.FGroup = 1;
            }
            else
            {
                count++;
                files.FGroup = count;
            }

            DataTable dt = objFinfo.GetSelectFiles(files.FName, _hID);
            if (dt.Rows.Count == 0)
            {
                int result = objFinfo.InsertFiles(files);
                if (result > 0)
                {
                    MessageBox.Show("图像数据已经成功录入数据库", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    count = objFinfo.GetScalar(_hID);
                    lb_imageCount.Text = count.ToString();
                    lb_imageNow.Text = count.ToString();
                }
                else
                    MessageBox.Show("图像数据录入失败", "失败", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
                MessageBox.Show("该图片已存在,请重新插入!");
        }


        FilesData files = new FilesData();

        //显示图片方法
        private void PicShow()
        {
            IDataReader dr = objFinfo.GetReader(_hID, index);
            if (dr.Read())
            {
                files.Files = dr["files"] as byte[];
                files.FName = dr["FName"].ToString();
                files.FDate = Convert.ToDateTime(dr["FDate"]);
                imageName.Text = files.FName;
                imageDate.Text = files.FDate.ToString();
                MemoryStream myStream = new MemoryStream();
                foreach (byte p in files.Files)
                {
                    myStream.WriteByte(p);
                }
                Image myImage = Image.FromStream(myStream);
                pic_h.Image = myImage;
                myStream.Close();
            }
        }
--------------------编程问答-------------------- 哪里不清楚留言 --------------------编程问答-------------------- 怎么在 winform中选择一个图片,把图片名称和图片路径获取显示在listview中 --------------------编程问答-------------------- 记得有二种方法吧,一种是将图片转换成二进制代码存入数据库中,还有一种是存路径。 --------------------编程问答-------------------- LZ 只发帖 不结贴 --------------------编程问答-------------------- 下次没人给你回答了 --------------------编程问答-------------------- <asp:FileUpload ID="fupFile" runat="server" Width="190px" />

、、 
if (this.fupFile.HasFile)
            {
                string extension = Path.GetExtension(fupFile.FileName);
                if (".gif,.jpg,.pjpeg,.jpeg".Contains(extension.ToLower()))
                {
                    string RecordID = b.Guid;
                    string fileName = RecordID + extension;
                    string path = Winstar.Framework.WebUI.AppConfig.SYS_Attachment + "Avatar" + "\\";

                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }
                    fupFile.SaveAs(path + fileName);
                    b.Person_Image = fileName;
                }
                else
                {
                    Response.Write("<script>alert('只能上传图片格式,请重新选择!');</script>");
                    return false;
                }
            }
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,