237 lines
11 KiB
C#
237 lines
11 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Web;
|
||
|
||
using System.Text;
|
||
|
||
namespace SuperMap.RealEstate.HousingSecurity.APIPlugs.flashuploader
|
||
{
|
||
public class MyUpFlash
|
||
{
|
||
/// <summary>
|
||
/// 实例化后,需要使用InitByCol()加载默认参数!
|
||
/// </summary>
|
||
public MyUpFlash()
|
||
{
|
||
|
||
}
|
||
public void InitByCol(int colNum, int flashH, int cellW, int cellH, int padding)
|
||
{
|
||
int flashW = cellW * colNum + colNum + 1;//+colNum是为了增加列宽度,防止自动换行
|
||
Init(flashW, flashH, cellW, cellH, padding);
|
||
|
||
}
|
||
public void Init(int flashW, int flashH, int cellW, int cellH, int padding)
|
||
{
|
||
width = flashW;
|
||
height = flashH;
|
||
flashsrc = "/HousingSecurity/apiplugs/flashuploader/imageUploader.swf";
|
||
|
||
flashvars = new flashvars();
|
||
flashvars.Init(flashW, flashH, flashsrc, cellW, cellH, padding);
|
||
}
|
||
public void InitBig()
|
||
{
|
||
Init(885, 472, 220, 220, 20);
|
||
}
|
||
public void InitMid()
|
||
{
|
||
Init(485, 372, 100, 100, 15);
|
||
}
|
||
public string flashsrc { get; set; }
|
||
public string vars { get; set; }
|
||
|
||
/// <summary>
|
||
/// flash的宽度
|
||
/// </summary>
|
||
public int width { get; set; }
|
||
|
||
/// <summary>
|
||
/// flash的高度
|
||
/// </summary>
|
||
public int height { get; set; }
|
||
|
||
public flashvars flashvars { get; set; }
|
||
}
|
||
|
||
|
||
public class flashvars
|
||
{
|
||
public void Init(int flashw, int flashh, string flashurl, int cellW, int cellH, int padding)
|
||
{
|
||
container = "flashConainer";
|
||
url = "/HousingSecurity/api/upload/upimg.ashx";
|
||
ext = "{\"param1\":\"value1\", \"param2\":\"value2\"}";
|
||
fileType = "{\"description\":\"图片\", \"extension\":\"*.gif;*.jpeg;*.png;*.jpg\"}";
|
||
flashUrl = flashurl;
|
||
|
||
width = flashw - 1;//flash的宽度(ie需要减去容器边框)
|
||
height = flashh;
|
||
|
||
gridWidth = cellW + 1;
|
||
gridHeight = cellH;
|
||
picWidth = cellW - padding;
|
||
picHeight = cellH - padding;
|
||
|
||
uploadDataFieldName = "upfile";
|
||
picDescFieldName = "pictitle";
|
||
|
||
maxSize = 3;
|
||
compressSize = 0;//强制每个都压缩
|
||
maxNum = 32;
|
||
compressSide = 1;
|
||
compressLength = 800;//按宽度,限制最宽700
|
||
}
|
||
|
||
public string ToVarString()
|
||
{
|
||
//有效参考:
|
||
//container=flashContainer&url=http%3A%2F%2Flocalhost%3A8080%2FRentPlatform%2FExternalNetwork_Module%2FAticleManager%2Fueditor%2Fnet%2FimageUp.ashx&ext=%7B%22param1%22%3A%22value1%22%2C%20%22param2%22%3A%22value2%22%7D&fileType=%7B%22description%22%3A%22%E5%9B%BE%E7%89%87%22%2C%20%22extension%22%3A%22*.gif%3B*.jpeg%3B*.png%3B*.jpg%22%7D&flashUrl=imageUploader.swf&width=608&height=272&gridWidth=121&gridHeight=120&picWidth=100&picHeight=100&uploadDataFieldName=upfile&picDescFieldName=pictitle&maxSize=4&compressSize=2&maxNum=32&compressSide=0&compressLength=900
|
||
//
|
||
/*
|
||
参考:
|
||
*
|
||
string _FLASHVARS = string.Empty;
|
||
//_FLASHVARS = "container=flashContainer&url=UploadImage.ashx&ext=%7B%22param1%22%3A%22value1%22%2C%20%22param2%22%3A%22value2%22%7D&fileType=%7B%22description%22%3A%22%E5%9B%BE%E7%89%87%22%2C%20%22extension%22%3A%22*.gif%3B*.jpeg%3B*.png%3B*.jpg%22%7D&flashUrl=imageUploader.swf&width=608&height=272&gridWidth=121&gridHeight=120&picWidth=100&picHeight=100&uploadDataFieldName=upfile&picDescFieldName=pictitle&maxSize=4&compressSize=2&maxNum=32&compressSide=0&compressLength=900";
|
||
//_FLASHVARS = "container=flashcontainer&url=uploadimage.ashx&ext=%7b%22param1%22%3a%22value1%22%2c%20%22param2%22%3a%22value2%22%7d&filetype=%7b%22description%22%3a%22%e5%9b%be%e7%89%87%22%2c%20%22extension%22%3a%22*.gif%3b*.jpeg%3b*.png%3b*.jpg%22%7d&flashurl=imageuploader.swf&width=608&height=272&gridwidth=121&gridheight=120&picwidth=100&picheight=100&uploaddatafieldname=upfile&picdescfieldname=pictitle&maxsize=4&compresssize=2&maxnum=32&compressside=0&compresslength=900";
|
||
//_FLASHVARS = "container=flashContainer&url=/BaiduUE/imageUp&ext={\"param1\":\"value1\", \"param2\":\"value2\"}&fileType={\"description\":\"图片\", \"extension\":\"*.gif;*.jpeg;*.png;*.jpg\"}&flashUrl=imageUploader.swf&width=608&height=272&gridWidth=121&gridHeight=120&picWidth=100&picHeight=100&uploadDataFieldName=upfile&picDescFieldName=pictitle&maxSize=4&compressSize=2&maxNum=32&compressSide=0&compressLength=900";
|
||
|
||
_FLASHVARS = string.Empty;
|
||
_FLASHVARS += "container=flashContainer"; //flash容器id
|
||
_FLASHVARS += "&url=/api/upload/upimg/"; //上传处理页面的url地址/ajax/Uploader/imageUp.ashx
|
||
_FLASHVARS += "&ext={\"param1\":\"value1\", \"param2\":\"value2\"}"; //可向服务器提交的自定义参数列表
|
||
_FLASHVARS += "&fileType={\"description\":\"图片\", \"extension\":\"*.gif;*.jpeg;*.png;*.jpg\"}";//上传文件格式限制
|
||
_FLASHVARS += "&flashUrl=" + _FLASH_SRC; //上传用的flash组件地址
|
||
_FLASHVARS += "&width=" + (_FLASH_W - 1); //flash的宽度(ie需要减去容器边框)
|
||
_FLASHVARS += "&height=" + _FLASH_H; //flash的高度
|
||
_FLASHVARS += "&gridWidth=221"; // 每一个预览图片所占的宽度
|
||
_FLASHVARS += "&gridHeight=220";// 每一个预览图片所占的高度
|
||
_FLASHVARS += "&picWidth=200"; // 单张预览图片的宽度
|
||
_FLASHVARS += "&picHeight=200"; // 单张预览图片的高度
|
||
_FLASHVARS += "&uploadDataFieldName=upfile"; // POST请求中图片数据的key
|
||
_FLASHVARS += "&picDescFieldName=pictitle"; // POST请求中图片描述的key
|
||
_FLASHVARS += "&maxSize=4"; // 文件的最大体积,单位M
|
||
_FLASHVARS += "&compressSize=2"; // 上传前如果图片体积超过该值,会先压缩,单位M
|
||
_FLASHVARS += "&maxNum=32";// 单次最大可上传多少个文件
|
||
_FLASHVARS += "&compressSide=0";//等比压缩的基准,0为按照最长边,1为按照宽度,2为按照高度
|
||
_FLASHVARS += "&compressLength=900"; //能接受的最大边长,超过该值Flash会自动等比压缩
|
||
|
||
*/
|
||
System.Text.StringBuilder _buf = new StringBuilder();
|
||
_buf.Append("container=" + this.container);
|
||
_buf.Append("&url=" + System.Web.HttpContext.Current.Server.UrlEncode(this.url));
|
||
_buf.Append("&ext=" + System.Web.HttpContext.Current.Server.UrlEncode(this.ext));
|
||
_buf.Append("&fileType=" + System.Web.HttpContext.Current.Server.UrlEncode(this.fileType));
|
||
_buf.Append("&flashUrl=" + System.Web.HttpContext.Current.Server.UrlEncode(this.flashUrl));
|
||
_buf.Append("&width=" + this.width);
|
||
_buf.Append("&height=" + this.height);
|
||
_buf.Append("&gridWidth=" + this.gridWidth);
|
||
_buf.Append("&gridHeight=" + this.gridHeight);
|
||
|
||
_buf.Append("&picWidth=" + this.picWidth);
|
||
_buf.Append("&picHeight=" + this.picHeight);
|
||
_buf.Append("&uploadDataFieldName=" + this.uploadDataFieldName);
|
||
_buf.Append("&picDescFieldName=" + this.picDescFieldName);
|
||
_buf.Append("&maxSize=" + this.maxSize);
|
||
_buf.Append("&compressSize=" + this.compressSize);
|
||
_buf.Append("&maxNum=" + this.maxNum);
|
||
_buf.Append("&compressSide=" + this.compressSide);
|
||
_buf.Append("&compressLength=" + this.compressLength);
|
||
|
||
return _buf.ToString();
|
||
//return System.Web.HttpContext.Current.Server.UrlEncode(_buf.ToString());
|
||
}
|
||
|
||
/// <summary>
|
||
/// flash容器id
|
||
/// </summary>
|
||
public string container { get; set; }
|
||
|
||
/// <summary>
|
||
/// 上传处理页面的url地址 /api/upload/upimg/
|
||
/// </summary>
|
||
public string url { get; set; }
|
||
|
||
/// <summary>
|
||
/// 可向服务器提交的自定义参数列表
|
||
/// </summary>
|
||
public string ext { get; set; }
|
||
|
||
/// <summary>
|
||
/// 上传文件格式限制
|
||
/// </summary>
|
||
public string fileType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 上传用的flash组件地址
|
||
/// </summary>
|
||
public string flashUrl { get; set; }
|
||
|
||
/// <summary>
|
||
/// flash的宽度(ie需要减去容器边框)
|
||
/// </summary>
|
||
public int width { get; set; }
|
||
|
||
/// <summary>
|
||
/// flash的高度
|
||
/// </summary>
|
||
public int height { get; set; }
|
||
|
||
/// <summary>
|
||
/// 每一个预览图片所占的宽度
|
||
/// </summary>
|
||
public int gridWidth { get; set; }
|
||
|
||
/// <summary>
|
||
/// 每一个预览图片所占的高度
|
||
/// </summary>
|
||
public int gridHeight { get; set; }
|
||
|
||
/// <summary>
|
||
/// 单张预览图片的宽度
|
||
/// </summary>
|
||
public int picWidth { get; set; }
|
||
|
||
/// <summary>
|
||
/// 单张预览图片的高度
|
||
/// </summary>
|
||
public int picHeight { get; set; }
|
||
|
||
/// <summary>
|
||
/// POST请求中图片数据的key
|
||
/// </summary>
|
||
public string uploadDataFieldName { get; set; }
|
||
|
||
/// <summary>
|
||
/// POST请求中图片描述的key
|
||
/// </summary>
|
||
public string picDescFieldName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 文件的最大体积,单位M
|
||
/// </summary>
|
||
public int maxSize { get; set; }
|
||
|
||
/// <summary>
|
||
/// 上传前如果图片体积超过该值,会先压缩,单位M
|
||
/// </summary>
|
||
public int compressSize { get; set; }
|
||
|
||
/// <summary>
|
||
/// 单次最大可上传多少个文件
|
||
/// </summary>
|
||
public int maxNum { get; set; }
|
||
|
||
|
||
/// <summary>
|
||
/// 等比压缩的基准,0为按照最长边,1为按照宽度,2为按照高度
|
||
/// </summary>
|
||
public int compressSide { get; set; }
|
||
|
||
/// <summary>
|
||
/// 能接受的最大边长,超过该值Flash会自动等比压缩
|
||
/// </summary>
|
||
public int compressLength { get; set; }
|
||
}
|
||
} |