2025-03-27 15:05:14 +08:00

237 lines
11 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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&amp;url=http%3A%2F%2Flocalhost%3A8080%2FRentPlatform%2FExternalNetwork_Module%2FAticleManager%2Fueditor%2Fnet%2FimageUp.ashx&amp;ext=%7B%22param1%22%3A%22value1%22%2C%20%22param2%22%3A%22value2%22%7D&amp;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&amp;flashUrl=imageUploader.swf&amp;width=608&amp;height=272&amp;gridWidth=121&amp;gridHeight=120&amp;picWidth=100&amp;picHeight=100&amp;uploadDataFieldName=upfile&amp;picDescFieldName=pictitle&amp;maxSize=4&amp;compressSize=2&amp;maxNum=32&amp;compressSide=0&amp;compressLength=900
//
/*
参考:
*
string _FLASHVARS = string.Empty;
//_FLASHVARS = "container=flashContainer&amp;url=UploadImage.ashx&amp;ext=%7B%22param1%22%3A%22value1%22%2C%20%22param2%22%3A%22value2%22%7D&amp;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&amp;flashUrl=imageUploader.swf&amp;width=608&amp;height=272&amp;gridWidth=121&amp;gridHeight=120&amp;picWidth=100&amp;picHeight=100&amp;uploadDataFieldName=upfile&amp;picDescFieldName=pictitle&amp;maxSize=4&amp;compressSize=2&amp;maxNum=32&amp;compressSide=0&amp;compressLength=900";
//_FLASHVARS = "container=flashcontainer&amp;url=uploadimage.ashx&amp;ext=%7b%22param1%22%3a%22value1%22%2c%20%22param2%22%3a%22value2%22%7d&amp;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&amp;flashurl=imageuploader.swf&amp;width=608&amp;height=272&amp;gridwidth=121&amp;gridheight=120&amp;picwidth=100&amp;picheight=100&amp;uploaddatafieldname=upfile&amp;picdescfieldname=pictitle&amp;maxsize=4&amp;compresssize=2&amp;maxnum=32&amp;compressside=0&amp;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("&amp;url=" + System.Web.HttpContext.Current.Server.UrlEncode(this.url));
_buf.Append("&amp;ext=" + System.Web.HttpContext.Current.Server.UrlEncode(this.ext));
_buf.Append("&amp;fileType=" + System.Web.HttpContext.Current.Server.UrlEncode(this.fileType));
_buf.Append("&amp;flashUrl=" + System.Web.HttpContext.Current.Server.UrlEncode(this.flashUrl));
_buf.Append("&amp;width=" + this.width);
_buf.Append("&amp;height=" + this.height);
_buf.Append("&amp;gridWidth=" + this.gridWidth);
_buf.Append("&amp;gridHeight=" + this.gridHeight);
_buf.Append("&amp;picWidth=" + this.picWidth);
_buf.Append("&amp;picHeight=" + this.picHeight);
_buf.Append("&amp;uploadDataFieldName=" + this.uploadDataFieldName);
_buf.Append("&amp;picDescFieldName=" + this.picDescFieldName);
_buf.Append("&amp;maxSize=" + this.maxSize);
_buf.Append("&amp;compressSize=" + this.compressSize);
_buf.Append("&amp;maxNum=" + this.maxNum);
_buf.Append("&amp;compressSide=" + this.compressSide);
_buf.Append("&amp;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; }
}
}