WebService服务端 接受要上传的图片

public string UploadImg(byte[] fileBytes, int id)
{
try
{
string filePath = MapPath(".") + "\\EmpImage\\" + id + ".jpg"; //图片要保存的路径及文件名
using (MemoryStream memoryStream = new MemoryStream(fileBytes))//1.定义并实例化一个内存流,以存放提交上来的字节数组。
{
using (FileStream fileUpload = new FileStream(filePath, FileMode.Create))//2.定义实际文件对象,保存上载的文件。
{
memoryStream.WriteTo(fileUpload); ///3.把内存流里的数据写入物理文件
}
}
//GetSqlExcuteNonQuery是我写好的一个执行command的ExcuteNonQuery()方法
GetSqlExcuteNonQuery(string.Format("insert into EmpImg values('{0}','{1}')", id, filePath)); //将该图片保存的文件路径写入数据库
}
catch (Exception ex)
{
return ex.Message;
}
}

WebService服务端 传递要下载的图片

public byte[] LoadImg(string id)
{
try
{
string path = GetSqlExcuteScalarStr("select Path from EmpImg where id='" + id + "'");
FileInfo imgFile = new FileInfo(path);
byte[] imgByte = new byte[imgFile.Length]; //1.初始化用于存放图片的字节数组
using (FileStream imgStream = imgFile.OpenRead()) //2.初始化读取图片内容的文件流
{
imgStream.Read(imgByte, 0, Convert.ToInt32(imgFile.Length));//3.将图片内容通过文件流读取到字节数组
return imgByte;
}
}
catch
{
return null;
}
}

客户端的上传图片和下载图片同服务端的原理一样。只是客户端的上传图片要用到openFileDialog对话框

internal void LocalImage(OpenFileDialog openF, PictureBox MyImage)
{
openF.Filter = "*图片文件(*.jpg,*.gif,*.bmp)|*.jpg;*.gif;*.bmp";//筛选打开文件的格式
if (openF.ShowDialog() == DialogResult.OK)//如果打开了图片文件
{
try
{
MyImage.Image = System.Drawing.Image.FromFile(openF.FileName);//设置PictureBox控件的Image属性
}
catch
{
MessageBox.Show("您选择的图片不能被读取或文件类型不对!",//弹出消息对话框
"错误", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}

然后就可以根据openFileDialog获取要上传的图片了

FileInfo imgFile = new FileInfo(openF.FileName);

WebService上传下载图片的更多相关文章

  1. .NET企业级应用WebService上传下载文件

    在建立好一个WebService后会有一个自带的 [WebMethod]//在待会写的所有方法中都要写这个,便于调试 public string HelloWorld() { return " ...

  2. nodejs, 阿里oss上传下载图片

    const archiver = require('archiver')const send = require('koa-send')const oss = require('ali-oss').W ...

  3. C# webapi 上传下载图片

    客户端上传文件 string url = url + "webUploadFile"; Uri server = new Uri(url); HttpClient httpClie ...

  4. spring boot上传 下载图片。

    https://blog.csdn.net/a625013/article/details/52414470 build.gradle buildscript { repositories { mav ...

  5. JAVA实现WEBSERVICE 上传下载

    因公司新项目决定使用webservice与其它项目做交互,于是开始了webservice之旅.    初入webservice的时候第一个接触的工具叫axis2,网上有着大量的简单案例.功能很强大,代 ...

  6. JavaWeb 文件上传下载

    1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端,从服务器端下载文件到本地的过程.例如目前网站需要上传头像.上传下载图片或网盘等功能都是利用文件上传下 ...

  7. 转载:JavaWeb 文件上传下载

    转自:https://www.cnblogs.com/aaron911/p/7797877.html 1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端 ...

  8. 用Canvas+Javascript FileAPI 实现一个跨平台的图片剪切、滤镜处理、上传下载工具

    直接上代码,其中上传功能需要自己配置允许跨域的文件服务器地址~ 或者将html文件贴到您的站点下同源上传也OK. 支持: 不同尺寸图片获取. 原图缩小放大. 原图移动. 选择框大小改变. 下载选中的区 ...

  9. WebService实现文件上传下载

    一:服务端:一个普通java web工程 package com.wzh.file; import com.sun.xml.ws.developer.StreamingAttachment; impo ...

随机推荐

  1. python3-连接MySQL(mysql.connector与MySQLdb区别)

    import mysql.connector cnx = mysql.connector.connect(user='scott', password='tiger',host='127.0.0.1' ...

  2. Python装饰器基础及运行时间

    一.装饰器基础 装饰器是可调用的对象,其参数是另一个函数(被装饰的函数).装饰器可能会处理被装饰的函数,然后把他返回,或者将其替换成另一个函数或可调用对象. eg:decorate装饰器 @decor ...

  3. Kruskal算法(题目还是:畅通工程)

    那还是先把题目丢出来,是HDU上的一道题 畅通工程 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...

  4. 使用GraphHttpClient调用Microsoft Graph接口 - POST

    博客地址:http://blog.csdn.net/FoxDave 本篇接上一讲,我们继续看如何通过GraphHttpClient创建一个Office 365的组,需要使用POST请求. 为结果添加按 ...

  5. ceph压力测试结果总结

    万兆网速的ceph分布式存储单虚拟机下的带宽和iops测试结果: 带宽: 写:700-850MB 读:800-900MB iops: 写:15000-20000 读:45000-55000

  6. @Autowired Map<String , Object> xx

    http://www.cnblogs.com/davidwang456/p/4432410.html @Autowired 标注作用于 Map 类型时,如果 Map 的 key 为 String 类型 ...

  7. openFileDialog的使用

    这两天应用了一下openFileDialog,做的是上传的功能,在打开页面的时候进行的一系列操作虽说远远没有asp.net的上传控件好使,但是学习起来也是蛮还用的,下面是一个简单的应用 //点击浏览按 ...

  8. Python 进程池的同步方法

    import time from multiprocessing import Process,Pool def f1(n): time.sleep(1) #print(n) return n*n i ...

  9. Curl追踪请求延时问题

    背景原因:测试环境发现一个连接内网访问和外网访问延迟差别很大,内网访问很快.外网访问很慢.于是我们用curl来诊断问题所在的区域! 命令如下: curl -o /dev/null -s -w %{ti ...

  10. ipv4-only网络环境下访问ipv6站点

    使用6plat.org+openVPN(无需资金投入)进入ipv6网络 这里我们主要使用的是6plat.org提供的“46模块——IPv4到IPv6”功能,需要配合openVPN这个软件,支持wind ...