WebService上传下载图片
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上传下载图片的更多相关文章
- .NET企业级应用WebService上传下载文件
在建立好一个WebService后会有一个自带的 [WebMethod]//在待会写的所有方法中都要写这个,便于调试 public string HelloWorld() { return " ...
- nodejs, 阿里oss上传下载图片
const archiver = require('archiver')const send = require('koa-send')const oss = require('ali-oss').W ...
- C# webapi 上传下载图片
客户端上传文件 string url = url + "webUploadFile"; Uri server = new Uri(url); HttpClient httpClie ...
- spring boot上传 下载图片。
https://blog.csdn.net/a625013/article/details/52414470 build.gradle buildscript { repositories { mav ...
- JAVA实现WEBSERVICE 上传下载
因公司新项目决定使用webservice与其它项目做交互,于是开始了webservice之旅. 初入webservice的时候第一个接触的工具叫axis2,网上有着大量的简单案例.功能很强大,代 ...
- JavaWeb 文件上传下载
1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端,从服务器端下载文件到本地的过程.例如目前网站需要上传头像.上传下载图片或网盘等功能都是利用文件上传下 ...
- 转载:JavaWeb 文件上传下载
转自:https://www.cnblogs.com/aaron911/p/7797877.html 1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端 ...
- 用Canvas+Javascript FileAPI 实现一个跨平台的图片剪切、滤镜处理、上传下载工具
直接上代码,其中上传功能需要自己配置允许跨域的文件服务器地址~ 或者将html文件贴到您的站点下同源上传也OK. 支持: 不同尺寸图片获取. 原图缩小放大. 原图移动. 选择框大小改变. 下载选中的区 ...
- WebService实现文件上传下载
一:服务端:一个普通java web工程 package com.wzh.file; import com.sun.xml.ws.developer.StreamingAttachment; impo ...
随机推荐
- Makefile 系统论述
该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客: http://blog.csdn.net/haoel/article/details/2886 概述 什么是make ...
- Win10系列:C#应用控件基础23
Telerik UI Controls for Windows 8 Telerik UI Controls for Windows 8是一套为创建Windows UWP应用而设计的工具集,开发人员可以 ...
- DevExpress.Mvvm.Free
DevExpress MVVM Framework is a set of components helping to work in the Model-View-ViewModel pattern ...
- ionic框架使用步骤
nodejs下载:https://npm.taobao.org/mirrors/node一.全局安装ionic: npm install -g cordova ionic 如果安装失败: npm in ...
- java中的线程问题(三)——继承Thread VS 实现Runnable的区别
从java的设计来看,通过继承Thread或者实现Runnable接口来创建线程本质上没有区别,从jdk帮助文档我们可以看到Thread类本身就实现了Runnable接口,如果一定要说它们有什么区别, ...
- python基础之centos6.5 升级 python2.7, 安装pip, MySQLdb
这个仅仅是为了运行脚本需求, 将centos6.5中的 python 2.6.6升级到了 2.7 并且安装和了 pip 和 MySQLdb 1.先装依赖 yum install zlib-devel ...
- 自动化测试-12.selenium的弹出框处理
前言 不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用对应方法解决. alert\confirm\prompt ...
- python中time模块常用功能
import time time模块提供了大量对时间进行处理的方法 time.time() # 获取当前时间戳,得到自1970年开始的秒数 >>>time.time() 155487 ...
- python学习之路08——元组、集合
一. 元组 1.概念 列表:是一种有序的集合 元组和列表的区别: a.列表:[] 元组:() b.列表中的元素可以进行增加和删除操作,但是,元组中的元素不能进行修改 c.相同点:都是一种容 ...
- 在jsp中应如何避免,request.getContextPath();等get报错问题
导致request中的大部分get方法无法获取,是因为没有依赖的jar包.就像这样.这里不仅仅有getContextPath()方法报错,如果存在这个问题,大部分的request方法都不可用. 解决这 ...