使用说明

1. 从github上获取代码,并部署到IIS中,应用程序池选择4.0.
2. 打开配置文件,在AppSettings中,设置SaveMode模式,如果选择的Distributed模式,需要安装FastDFS(FastDFS的安装参考下篇博客),并配置section信和fastdfs节点信息。这里选择Local模式.
3. 新建测试站点和测试页面。
4. 打开测试页面,修改如下,注意http://localhost:8090/ 是我部署的图片服务器地址,这里修改为你自己的图片服务器地址。 
<link href="http://localhost:8090/Content/style.css" rel="stylesheet" />
<link href="http://localhost:8090/Content/webuploader.css" rel="stylesheet" /> <div id="uploader-demo">
<!--用来存放item-->
<div id="fileList" class="uploader-list"></div>
<div id="filePicker">选择图片</div>
</div> <input type="text" id="filename" style="width:600px" />
<script src="~/Content/jquery-1.10.1.min.js"></script> <script src="http://localhost:8090/Content/webuploader.js"></script>
<script src="http://localhost:8090/Content/UploadInit.js"></script>
<script>
jQuery(function () {
UploadInit('fileList', 'filePicker', 'filename', 'http://localhost:8090/');
});
</script>
5. 打开页面浏览,可以看到如图所以效果
6. 选择图片后自动上传,上传成功后便可在下方的文本框中看到图片绝对地址。 
    如果是本地模式,可以看到保存的路径中含有业务系统域名信息(这里是localhost, 如果业务域名为userservice.test.com则保存的地址为com\test\userservice), 还含有图片上传时间信息。 这里localhost:8090是图片服务器地址。
 
   如果是基于FastDFS的,文件名是FastDFS控制生成的,192.168.1.104是fastdfs的tracker服务器地址。
 
完成以上步骤,你会发现我们新建的测试站点服务端没有做任何编码,仅仅是在页面端添加了一些外部样式和外部脚本就完成了整个的图片上传,返回的图片绝对地址,可以放在一个Hidden中,然后和其他信息一起提交Post到业务服务端。在查看图片的时候,浏览器再根据这个绝对地址去图片服务器上请求。 

图片系统项目结构

项目结构非常简单,就是一个Web API站点,Content文件夹中是百度webuploader组件,Controllers中也只有一个Controller,用于接收图片,保存图片,代码也都非常简单,这里不做介绍。
 

注意

1. 这里上传组件使用了百度的webuploader,样式和上传方式你可以参考官方API实现自定义。其他的还可以使用swfupload或者其他的组件,只要将图片提交地址改为图片服务器地址就可以了。 
2. 因为使用的是CORS方式提交,部分浏览器会不兼容,所以需要有个适配机制,判断如果是IE6,就采用适合IE6的方式来提交,服务端要兼容Get提交, 这一块暂未实现。 
3. CORS提交需要有一个认证的过程, 为了安全建议Access-Control-Allow-Origin不要设置为 *,而要设置为允许的站点域名。
4. 通过时间来命名图片名称有一定的安全隐患, 前端可以通过遍历时间来获取图片,如果对图片有安全要求,建议再加上4位-6位不等的随机数, 或者使用Guid方式。

.Net简单图片系统-使用说明的更多相关文章

  1. .Net简单图片系统-简介

    系统简介 最近做了一个简单图片系统,这个系统就是 将上传的的图片保存到系统本地文件系统或者基于fastdfs的分布式文件系统中,在查看图片时会直接请求此系统或者fastdfs的tracker服务器(需 ...

  2. .Net简单图片系统-本地存储和分布式存储

    本地存储 所谓本地存储就是将上传图片保存到图片服务器的本地磁盘上. if (ConfigHelper.GetConfigString("SaveMode") == "Lo ...

  3. 升鲜宝V2.0_杭州生鲜配送行业,升鲜宝供应链B端订货系统使用说明_升鲜宝生鲜供应链管理系统_15382353715_余东升

    升鲜宝V2.0_杭州生鲜配送行业,升鲜宝供应链B端订货系统使用说明_升鲜宝生鲜供应链管理系统_15382353715             升鲜宝生鲜配送供应链系统经过这些年的发展,形成一套独特的订 ...

  4. js简单 图片版时钟,带翻转效果

    js简单 图片版时钟,带翻转效果 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  5. 用Qt写软件系列三:一个简单的系统工具(上)

    导言 继上篇<用Qt写软件系列二:QIECookieViewer>之后,有一段时间没有更新博客了.这次要写的是一个简单的系统工具,需求来自一个内部项目.功能其实很简单,就是查看当前当前系统 ...

  6. 使用Struts2和jQuery EasyUI实现简单CRUD系统(转载汇总)

    使用Struts2和jQuery EasyUI实现简单CRUD系统(一)——从零开始,ajax与Servlet的交互 使用Struts2和jQuery EasyUI实现简单CRUD系统(二)——aja ...

  7. Ubuntu学习笔记-win7&Ubuntu双系统简单搭建系统指南

    win7&Ubuntu双系统简单搭建系统指南 本文是自己老本子折腾Ubuntu的一些记录,主要是搭建了一个能够足够娱乐(不玩游戏)专注练习自己编程能力的内容.只是简单的写了关于系统的安装和一些 ...

  8. Arbiter 系统使用说明

    Arbiter 系统使用说明 Overview Arbiter是NOI系列赛事的官方评测软件, 由北航的相关人员开发. 在OIer会经历的几场大型比赛中, 除了省选和PKUSC/THUSC不使用Arb ...

  9. html学习之路--简单图片轮播

    一个简单的图片轮播效果 photo.html页面代码,基本的HTML结构,在main中显示图片,此处图片依次命名为1.jpg.2.jpg.3.jpg.4.jpg. <!DOCTYPE html& ...

随机推荐

  1. (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 决策树分析算法)

    随着大数据时代的到来,数据挖掘的重要性就变得显而易见,几种作为最低层的简单的数据挖掘算法,现在利用微软数据案例库做一个简要总结. 应用场景介绍 其实数据挖掘应用的场景无处不在,很多的环境都会应用到数据 ...

  2. React-Native测试报告

     React-native 使用js编写android和ios程序,前端时间开始支持android,本人根据官方的教程,先安装开发环境,然后运行hello world,最后看了下官方提供的实例程序UI ...

  3. <a>标签,鼠标经过或者停留触发延时响应事件

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcUAAAEoCAIAAACmeX2PAAAgAElEQVR4nOzdd3xUdb74f3+Pu3v33t ...

  4. JavaWeb学习----Cookie实现记住密码的功能

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. 这回真的是挤时间了-PHP基础(三)

    hi 刚看了唐人街探案,5星好评啊亲.由于是早就约好的,也不好推辞(虽然是和男的..),但该写的还是得挤时间写.明天早上老师的项目结题,虽然和我关系不大,但不要添乱就好!! 1.PHP  一.PHP基 ...

  6. C#基础---IComparable用法,实现List<T>.sort()排序

    List<T>.sort()可以实现对T的排序,比如List<int>.sort()执行后集合会按照int从小到大排序.如果T是一个自定义的Object,可是我们想按照自己的方 ...

  7. 三维网格去噪算法(two-step framework)

    基于两步法的网格去噪算法顾名思义包含两个步骤:首先对网格表面的法向进行滤波,得到调整后的网格法向信息,然后根据调整后的法向更新顶点坐标位置,下面介绍三篇该类型的文章. [Sun et al. 2007 ...

  8. POJ3260The Fewest Coins[背包]

    The Fewest Coins Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6299   Accepted: 1922 ...

  9. NOIP水题合集[3/未完待续]

    NOIP2008pj传球游戏 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球, ...

  10. 微软云Azure Website 远程调试

    微软云Azure Website 远程调试 是可以的 但是只有48小时,要在后台开启,所以还是很麻烦的啊! 但是安全性提高了,不得不承认哦