欧美三区_成人在线免费观看视频_欧美极品少妇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)論
主站蜘蛛池模板: 国产成人精品视频 | 亚洲日韩视频 | 日韩欧美黄色 | 国产精品日本一区二区不卡视频 | 三上悠亚2022最新番号 | 亚洲视频在线看 | 午夜av毛片| 国产成人理在线观看视频 | 日韩精品| 污视频在线免费播放 | 欧美日日日| 亚洲天堂久久精品成人 | 欧美一级毛片不卡免费观看 | 久久综合伊人77777 | 精品一区二区视频 | 欧美一区二区三区成人 | 亚洲成a人v在线观看 | 羞羞的视频在线 | 国产在线视频一区二区 | 精品一区二区三区水蜜桃 | 99久久99热这里只有精品 | 国产成人小视频 | 业余护士毛茸茸 | 国产午夜亚洲精品一区 | 特级生活片 | 精品伊人网 | 国产九色在线 | 国产综合亚洲精品一区二 | 在线色网站 | 性生潮久久久不久久久久 | 久久精品一| 国产福利高清在线视频 | 成人高清视频免费观看 | 香蕉国产| 日韩精品亚洲人成在线播放 | 欧美久久久久久久一区二区三区 | bb毛片 | 国产免费观看一区二区三区 | 中文字幕免费在线观看动作大片 | 婷婷qvod| 欧美无遮挡一区二区三区 |