分類:[ASP.NET (C#)] 
2007/07/19(Thu) 18:37:17 編集(投稿者)
ご教授お願い致します。
ASP.NET1.1 C#です。
初心者ですが学習しています。
CSVデータをデータベースにインポートするものを作成しました。
サーバから試す場合、成功し、クライアントから試すと、うまく入りません。
要点箇所コードのみ張らせていただきます。多少削除したのですがミスがなければサーバからは成功するはずです。
クライアントから試す場合、ファイルをC:\\Inetpub\\wwwroot\\upload\\"+ System.IO.Path.GetFileName(posted.FileName)のパスまで移動させる
箇所までは出来ています。が、サーバのパスでこの場所を見るはずなのに失敗してしまいます。
ご教授お願いいただけますでしょうか。
あと、このコードだとサーバからでも、C直下などにデータがないと成功しません。おそらく間に日本語があると入らないものと思えます。
パスに日本語など混ざっても入れる方法も合わせてお願いできますでしょうか。いろいろ調べましたが分かりませんでした。
お願い致します。
			try
			{
				HttpPostedFile posted; 
				posted= Request.Files["upfile"];//ファイルパス
				if (posted.FileName != "")
				{
					posted.SaveAs("C:\\Inetpub\\wwwroot\\upload\\"+ System.IO.Path.GetFileName(posted.FileName));
				}
				else
				{
					return;
				}
				if (!File.Exists(posted.FileName)) return ;  // ファイルの有無チェック
				StreamReader reader = new StreamReader(Server.MapPath("upload/")+System.IO.Path.GetFileName(posted.FileName));
			
				string oneG ;
				
				int i = 0;
			
				while ((oneG = reader.ReadLine()) != null)
                  {
				
					string[] Array = oneG.Split(',');
					SqlConnection objDb = new SqlConnection(ConfigurationSettings.AppSettings["sqlConnection"]);
					SqlCommand objCom = new SqlCommand("INSERT INTO tb_test(i_yn,i_ynk) VALUES(@i_yn,@i_ynk)",objDb);
					objCom.Parameters.Add("@item",Array[0]);
					objCom.Parameters.Add("@i_yn",Array[1]);
					
					objDb.Open();
					objCom.ExecuteNonQuery();
					
					objDb.Close();
				}
				reader.Close() ;
	
			}
			catch(Exception ex)
			{
			}