お世話になります。
いつも参考にさせていただいています。
PocketPC2003、VB.NETによる開発の質問なんですが、
◆アプリの方からcsvファイルをサーバに送り、サーバは送られてきたデータを指定のフォルダに保存するといったシステムなんでが、サーバ側にはアクセスすることが出来てもファイルを保存することが出来ていません。
これはどこが(もしかして全部!?)変なんでしょうか?
私自身でもサーバ側の違和感はあるのですが書籍などを見ても私の理解力が乏しいせいでよく理解できません・・・
申し訳ありませんが、指摘していただいてもよろしいでしょうか。お願い致します。
==============アプリ側=====================================
Dim webreq As System.Net.HttpWebRequest
webreq = WebRequest.Create("http://***.***.***.***:8080/WebSite1/Default.aspx")
webreq.Method = "POST"
webreq.ContentType = "multipart/form-data"
Dim fs As New System.IO.FileStream( _
"C:\test.txt", _
IO.FileMode.Open _
, System.IO.FileAccess.Read)
Dim bs(fs.Length - 1) As Byte
webreq.ContentLength = bs.Length
Dim webreqStream As System.IO.Stream = webreq.GetRequestStream()
webreqStream.Write(bs, 0, bs.Length)
fs.Close()
webreqStream.Close()
=============================================================
============サーバ側=========================================
<body>
<form id="Form1" method="get" runat="server" enctype="multipart/form-data">
<p></p>
<%
Dim X As Object = Server.CreateObject("ADODB.Stream")
X.Open()
X.Type = 1 'バイナリモード(adTypeBinary )
If Request.TotalBytes <> 0 Then
X.Write(Request.BinaryRead(Request.TotalBytes))
X.Position = 0
X.SaveToFile("C:\\*********\\")
End If
%>
</form>
</body>
=================================================================
長々と申し訳ありません。
とりあえず,C:\に置くのはどうかとおもうわけですが……。
まず,保存先のディレクトリは,IISを実行しているユーザが書き込み権限を持つものですか?
だいたいのディレクトリは,IISの実行ユーザに書き込み権限が付与されていません。
# 親ディレクトリの設定を通常引き継ぎます。
ご返事が遅れまして申し訳ありません。
今回のツールがファイルをただ指定した場所に保存するだけでしたので、
サーバ側でフォルダ共有などを行い
System.IO.File.Copy("ファイルディレクトリ","保存先ファイルディレクトリ")
を使って完成させました。
YuOさんに、せっかくご指摘をいただきましたのでASP.NETを使ってファイルの受け渡しなども勉強させていただきたいと思います。
ありがとうございました。