自己做了個小小的上傳組件雛形,大概的功能有了,還請高手多多指點,嘿嘿
后臺數據處理使用PHP,代碼很簡單
打算加入自定義過濾屬性,現在寫死了,呵呵。

1
<?xml version="1.0" encoding="utf-8"?>
2
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" initialize="init()" width="400" height="300">
3
<mx:Script>
4
<![CDATA[
5
import mx.controls.Alert;
6
public var UrlUpload:String ;
7
public var editable:Boolean = false ;
8
9
private var urlRequest:URLRequest ;
10
private var fileList:Array ;
11
private var fileReferenceList:FileReferenceList ;
12
private var filterArray:Array = [new FileFilter("圖片(*.gif;*.png)","*.gif;*.png"),new FileFilter("視頻(*.avi;*.rmvb)","*.avi;*.rmvb")] ;
13
private var count:int = 1 ;
14
15
private function init():void
16
{
17
if( UrlUpload != null )
18
{
19
urlRequest = new URLRequest(UrlUpload) ;
20
fileReferenceList = new FileReferenceList() ;
21
fileReferenceList.addEventListener(Event.SELECT,selectHandler) ;
22
broswer.addEventListener(MouseEvent.CLICK,broswe);
23
}
24
}
25
26
private function selectHandler(event:Event):void
27
{
28
fileReferenceList = FileReferenceList(event.target) ;
29
fileList = fileReferenceList.fileList ;
30
filename.text = FileReference(fileList[0]).name ;
31
upup.visible = true ;
32
upup.addEventListener(MouseEvent.CLICK,upload) ;
33
}
34
35
private function upload(event:Event):void
36
{
37
38
var fileReference:FileReference = new FileReference() ;
39
for( var i:int = 0; i<fileList.length; i++ )
40
{
41
fileReference = FileReference(fileList[i]) ;
42
fileReference.addEventListener(Event.COMPLETE,dotrace);
43
//可以在這里命名文件field,后臺接受時對應html的name,默認為Filedata。方法:fileReference.upload(urlRequest,"filename") ;
44
fileReference.upload(urlRequest) ;
45
}
46
}
47
48
private function dotrace(event:Event):void
49
{
50
if( count < fileList.length )
51
{
52
count++ ;
53
}
54
else
55
{
56
Alert.show("Upload successfully");
57
filename.text = null ;
58
fileList = null ;
59
upup.visible = false ;
60
init();
61
}
62
}
63
64
private function broswe(event:Event):void
65
{
66
fileReferenceList.browse(filterArray) ;
67
}
68
]]>
69
</mx:Script>
70
<mx:Button x="219" y="113" id="broswer" label="瀏覽…" fontSize="12"/>
71
<mx:TextInput x="51" editable="{editable}" y="114" id="filename" />
72
<mx:Button label="上傳" id="upup" visible="false" horizontalCenter="119" verticalCenter="-26" fontSize="12"/>
73
</mx:Canvas>
74

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

后臺數據處理使用PHP,代碼很簡單
1
<?
2
$up_dir = "D:\\www\\tmp\\" ;
3
move_uploaded_file($_FILES["Filedata"]['tmp_name'],$up_dir.$_FILES['Filedata']['name']) ;
4
?>

2

3

4

打算加入自定義過濾屬性,現在寫死了,呵呵。