欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

web服務(wù)中實(shí)現(xiàn)文件的上傳

系統(tǒng) 1758 0

?

最近工作原因要用 vs2003 來(lái)開(kāi)發(fā) Pocket PC 方面的軟件 .

由于項(xiàng)目需要放棄了項(xiàng)目初期擬定的用 asp.net 移動(dòng) WEB 應(yīng)用程序的開(kāi)發(fā)方式 , 而改用智能設(shè)備應(yīng)用程序來(lái)開(kāi)發(fā)產(chǎn)品 .

其實(shí)智能設(shè)備應(yīng)用程序開(kāi)發(fā)與 桌面應(yīng)用程序非常類(lèi)似 , 也是一種 win 窗體開(kāi)發(fā) .

該項(xiàng)目為了保持 Pocket PC 中的數(shù)據(jù)和遠(yuǎn)程服務(wù)器的數(shù)據(jù)保持一致 , 用到了 web 服務(wù)技術(shù) .

其中涉及一個(gè)圖片上傳功能的實(shí)現(xiàn) , 就是把手機(jī)拍攝的圖片及時(shí)發(fā)送到遠(yuǎn)程服務(wù)器 .

?

讓我們先建立一個(gè) WEB 服務(wù) SmartDeviceMobileReportWebService

在其中定義一個(gè)方法 UploadFile負(fù)責(zé)接收上傳的圖片,代碼如下:

?1 ???????? /**/ /// ? <summary>
?2 ???????? /// ?上傳文件
?3 ???????? /// ? </summary>
?4 ???????? /// ? <param?name="fs"> 文件的字節(jié)數(shù)組 </param>
?5 ???????? /// ? <param?name="FileName"> 文件名稱(chēng) </param>
?6 ???????? /// ? <param?name="content"> 說(shuō)明 </param>
?7 ???????? /// ? <returns> 是否文件上載成功 </returns>

?8 ????????[WebMethod(Description = " 提供 文件上傳 的方法,返回文件是否上載成功 " )]
?9 ???????? public ? bool ?UploadFile( byte []?b, string ?FileName)
10 ???????? {
11 ???????????? try
12 ???????????? {
13 ???????????????? // 定義并實(shí)例化一個(gè)內(nèi)存流,以存放提交上來(lái)的字節(jié)數(shù)組。
14 ????????????????MemoryStream?memoryStream? = ? new ?MemoryStream(b);
15
16 ???????????????? // 文件存放目錄
17 ???????????????? string ?dir = @" d:\pic\ " ;
18
19 ???????????????? // 判斷文件存放目錄是否存在
20 ???????????????? if ?(?? ! Directory.Exists(dir)?)
21 ???????????????? {
22 ???????????????????? return ? false ;
23 ????????????????}

24
25 ???????????????? // 定義實(shí)際文件對(duì)象,保存上載的文件。
26 ???????????????? string ?fileName? = ??dir? + ?FileName;
27
28 ???????????????? // 創(chuàng)建文件流,要是上載的文件存在就覆蓋
29 ????????????????FileStream?fileStream? = ? new ?FileStream(fileName,?FileMode.Create);
30
31 ???????????????? // 把內(nèi)內(nèi)存里的數(shù)據(jù)寫(xiě)入文件流
32 ????????????????memoryStream.WriteTo(fileStream);
33
34 ???????????????? // 關(guān)閉流文件
35 ????????????????memoryStream.Close();
36 ????????????????fileStream.Close();
37 ????????????????
38 ????????????????fileStream? = ? null ;
39 ????????????????memoryStream? = ? null ;
40 ????????????????
41 ???????????????? return ? true ;
42 ????????????}

43 ???????????? catch (?Exception?ex?)
44 ???????????? {
45 ???????????????? string ?s = ex.Message;
46 ???????????????? return ? false ;
47 ????????????}

48 ????????}


?

再到我的 Pocket PC 客戶(hù)端

先引用 web 服務(wù) http://10.10.10.191/SmartDeviceMobileReportWebService/ReportWebService.asmx 并命名為 ReportWebService

編寫(xiě)上傳按鈕事件

?1 // 上傳按鈕事件
?2 ???????? private ? void ?uploadbutton_Click( object ?sender,?System.EventArgs?e)
?3 ???????? {
?4 ???????????? // 要上傳的文件
?5 ???????????? string ?fileFullName = this .fileMsglabel.Text;
?6 ????????????
?7 ???????????? if ?(? ! File.Exists(fileFullName)?)
?8 ???????????? {
?9 ????????????????MessageBox.Show( " 請(qǐng)選擇圖片 " );
10 ???????????????? return ;
11 ????????????}

12
13 ???????????? int ?i = fileFullName.LastIndexOf( " \\ " );
14 ????????????
15 ????????????Cursor.Current = Cursors.WaitCursor;
16
17 ???????????? try
18 ???????????? {
19 ???????????????? // 調(diào)用WEB服務(wù)
20 ????????????????ReportWebService.ReportWebService?r = new ?ReportWebService.ReportWebService();
21 ????????????
22 ???????????????? // 要上傳的文件名
23 ???????????????? string ?fileName = fileFullName.Substring(i + 1 );
24 ????????????
25 ???????????????? // 創(chuàng)建文件的實(shí)例
26 ????????????????FileInfo?f = new ?FileInfo(fileFullName);
27 ????????????
28 ???????????????? // 創(chuàng)建只讀?FileStream
29 ????????????????FileStream??fileStream? = ?f.OpenRead()?;
30 ????????????????
31 ???????????????? byte []?byteArray = ? new ? byte [f.Length];
32 ????????????????????
33 ???????????????? // 從流中讀取字節(jié)并將該數(shù)據(jù)寫(xiě)入給定數(shù)組中
34 ????????????????fileStream.Read(byteArray, 0 ,Convert.ToInt32(?f.Length?));
35
36 ???????????????? // 開(kāi)始調(diào)用web服務(wù)器上的公用方法
37 ???????????????? if ?(? ! r.UploadFile(byteArray,fileName)?)
38 ???????????????? {
39 ????????????????????MessageBox.Show( " 數(shù)據(jù)上傳失敗! " );
40 ????????????????}

41 ???????????????? else
42 ???????????????? {
43 ????????????????????MessageBox.Show( " 數(shù)據(jù)上傳成功! " );
44 ????????????????????????????????????}

45
46 ???????????????? // 關(guān)閉流文件
47 ????????????????fileStream.Close();
48 ????????????????fileStream = null ;
49
50 ????????????}

51 ???????????? catch
52 ???????????? {
53 ????????????????MessageBox.Show( " 數(shù)據(jù)上傳失敗! " );
54 ????????????}

55 ???????????? finally
56 ???????????? {
57 ????????????????Cursor.Current = Cursors.Default;
58 ????????????}
????
59 ????????}

圖片效果如下:



選擇文件



上傳數(shù)據(jù)成功

web服務(wù)中實(shí)現(xiàn)文件的上傳


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲综合色站 | 色喜亚洲美女沟沟炮交国模 | 久久亚洲国产成人影院 | 玖操网| 精品成人一区二区三区 | 亚洲三区视频 | 免费网站色 | 亚洲一二三区精品 | 99热久久这里只有精品6国产网 | snh48欧洲大片在线观看 | 全部免费国产潢色一级 | 99热免费精品 | 日本不卡高清免费 | 人人九九| 1024app成人无限观看 | 中文区永久区 | 国产美女黄色片 | 精品在线一区二区三区 | 日本黄色免费看 | 国产中文字幕网 | 亚洲精品久久久久久中文字幕小说 | 欧美成人在线影院 | 免费在线观看的毛片 | 精品视频一区二区三区在线播放 | 9久久99久久久精品齐齐综合色圆 | 99亚洲精品色情无码久久 | 2019天天干天天操 | 亚洲区视频 | 亚洲精品第一国产综合高清 | 亚洲情综合五月天 | 三级黄色网址 | 久久午夜精品 | 大片一级| 激情网五月天 | 国产成人精品福利色多多 | 久久综合一区二区三区 | 欧美一区黄 | 国产在线精品一区二区 | 国产色婷婷精品综合在线观看 | 欧美性bbbbbxxxxxddd | 亚洲综合久久久久久888 |