2008-11-29
2008-11-28
用Flex搞定一个文件上传功能
其实Flex文件上传功能几个月之前就写过,后台是Java,那段程序上传文件的同时还要保存一些其他信息,当时陆陆续续用了两个星期。这次后台是ASP.NET,功能还要简单些(文件上传时不附加其他信息),用了三天时间。与以前写的程序相比,新增的功能是上传完图片可以调整图片尺寸或者剪裁图片,调整图片尺寸是弹出TitleWindow设定宽、高,然后改变加载图片的Loader的大小,剪裁图片是用鼠标选择剪裁区域,做完以上的操作将图片信息传到服务器,由C#来修改图片。这些大概用了一天多。后来是把这段程序嵌入到现有的系统中,要从JavaScript处获取几个参数,这就用到了FABridge。开始是把Flex编译好的Flash放入层中,由层的显示/隐藏来模拟窗口。但遇到了一个问题:JavaScript从AS那里获取对象或属性时第一次还好,以后则会产生错误,一直没有找到解决方案。于是只好改成了弹出模式窗口,原来的系统在非IE浏览器中变形严重,所以我就没任何顾虑的用模式窗口了。还有个问题就是为了把上传相关的功能都写在一个程序文件里,接收文件信息我是直接读的Request.InputStream,先在AS里把参数用分隔符隔开并采用Base64编码,然后C#解码。开始是随机生成的文件名,没有特殊字符一切还好,后来参数里会有汉字,然后服务器端就不能正确读出了。后来写了段函数在AS中对字串做处理再往服务器端传问题得以解决,代码如下:
private function encodeBase64(string:String):String
{
var result:String = "";
var array:ByteArray = new ByteArray();
var encoder:Base64Encoder = new Base64Encoder();
array.writeUTFBytes(string);
encoder.encodeBytes(array, 0, array.length);
result = encoder.toString();
return result;
}
2008-11-09
2008-11-08
关于校内网的狗狗
怎么赚取骨头?除了邀请好友以外,那就是多遛狗了。当然,遛狗也有损失骨头的时候,不过总的来说还是得骨头的机会多。(“主人,我刚才帮警察叔叔找到了迷路的小妹妹,并把她送回家,警察叔叔夸奖我,还奖励给我5根骨头呢!” )
风险小一点的,还可以去喂挨饿的狗,喂水喂食抚摸后通常会得1-3根骨头。不过最好不要喂布拉多,以我的经验,这种狗不管怎么喂都不加骨头。也许是因为我自己养的就是这种狗?不得而知。当然,喂狗是要消耗狗食的。此外,多抚摸一下自己的狗狗,也会加一点骨头。
还有一种比较好的方法,赚狗粮的方法,那就是先把自己的骨头全都消耗掉,比如换狗窝换背景换垫子什么的,然后骨头就剩一两块,或者干脆就没了。这时,扔飞盘或者捡球,狗接不住没关系,反正骨头变成0了也不会再减了,总有一次它会接会飞盘的,一旦够5块骨头了,就去买狗粮,然后再扔飞盘,如此周而复始,只要你不嫌烦。扔的次数多了游戏会要求输入验证码。
我的皮皮:
风险小一点的,还可以去喂挨饿的狗,喂水喂食抚摸后通常会得1-3根骨头。不过最好不要喂布拉多,以我的经验,这种狗不管怎么喂都不加骨头。也许是因为我自己养的就是这种狗?不得而知。当然,喂狗是要消耗狗食的。此外,多抚摸一下自己的狗狗,也会加一点骨头。
还有一种比较好的方法,赚狗粮的方法,那就是先把自己的骨头全都消耗掉,比如换狗窝换背景换垫子什么的,然后骨头就剩一两块,或者干脆就没了。这时,扔飞盘或者捡球,狗接不住没关系,反正骨头变成0了也不会再减了,总有一次它会接会飞盘的,一旦够5块骨头了,就去买狗粮,然后再扔飞盘,如此周而复始,只要你不嫌烦。扔的次数多了游戏会要求输入验证码。
我的皮皮:
2008-11-04
下班时遇到拍电视剧的了
随机产生A-Z任意一个字母
领导交待给同事找一个随机产生A-Z任意一个字母的例子,然后同事打开百度,搜索。后来他又记起自己写过类似的东西,于是又找代码。这一幕场景似乎很搞笑。本人以前没用C#做过东西,今天下午被领导问起C#学的怎么样了,怕被BS,腆着脸说自己只学个皮毛。不过这类简单代码还是不在话下的:
Random rand = new Random();
int i = (int)Math.Floor(rand.NextDouble() * 26);
char c = (char)(65 + i);
Console.Write(c);
Random rand = new Random();
int i = (int)Math.Floor(rand.NextDouble() * 26);
char c = (char)(65 + i);
Console.Write(c);
订阅:
博文 (Atom)








