今日は19時に作業を切り上げました。いい感じ

ファイルをアップロードする

デジカメ写真など、何でも良いけどファイルをアップしてみましょうかね。

 

file_up.aspx

 
<%@ Import Namespace="System.IO" %>

<script language="C#" runat="server">
private void btn1_onclick(object sender, EventArgs ev)
{
  if(fileup.HasFile)
  {
    string x = Path.Combine(
      Server.MapPath("files"),
      fileup.FileName
    );

    fileup.SaveAs(x);

    lbl1.Text = DateTime.Now + " 保存しました。";
  }
}
</script>

<html>
<body>
  <form runat="server">
    <asp:FileUpload ID="fileup" runat="server" /> <br />
    <asp:Button id="btn1" runat="server" onclick="btn1_onclick" text="アップロード" /> <br />
    <asp:Label id="lbl1" runat="server" />
  </form>
</body>
</html>
 

 

サーバー側にフォルダを掘ります。

 

 

ブラウザで表示します。

 

参照ボタンを押して、upするファイルを選択し、アップロードボタンを押します・・・

うわ最悪。例のやつが出ました。

 

アプリケーション設定して、エラー情報を表示しましょう。

 

 

IIS Web Service の Virtual Directories をクリックし、add virtual directory をクリック。

・・・はぁメンドくせ。

 

仮想ディレクトリ名(実はアプリケーション名でもある)とパスを入れて add をクリック。

 

/orz ができました。

 

 

customErrors mode="Off" な web.config を設置しましょう。

<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true"/>
<authentication mode="Windows"/>
<customErrors mode="Off" />
</system.web>
</configuration>

 

 

 

アプリ構成したし、web.config も用意したので、再度 file_up_aspx を要求しましょう。

・・・最悪。バカにしてるのか?

/orz がアプリ構成できてないよ!!!

 

最悪!いったいどうなってるの?orzじゃダメかね?仮想ディレクトリ名と物理フォルダ名は一致させておく必要あり?そんなのどこに書いてある?

仕方が無いので、とりあえず file_up_test と \inetpub\wwwroot\file_up_test と入力しました。

 

 

/orz 仮想ディレクトリ(?)は使えないので(タタズなので)、消す。

 

 

これでようやく、/file_up_test アプリが作られたようです。エラーの原因が表示されています。アクセス権?何のアクセス権?

 

わからんよなー。普通わからんよな。

ファイルを保存するフォルダ、今回でいうと file_up_test\files の Web Visitor の 書き込みを ON にします。

 

うまくいったかも。

 

ああ、一覧表示はダメなのね。

探したけど、ファイルの一覧表示を ON にする方法は見つかりませんでした。IIS を直接触りたいです・・・

 

 

 

ファイル自体は up できてるみたいね。

 

 

 

ブラウザでも表示できました。

 

 

 

 

 

しんどいですね。とてもしんどいです。

IIS マネージャ、はっきり言ってしまうと、Windows デスクトップにアクセスできないと、どうしようもないほど作業効率が悪いっす。