C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.26543 の関連記事表示

<< 0 >>
■26543  画像のUPロード時にファイル場所の書き込み
□投稿者/ 初心者 -(2008/10/14(Tue) 01:21:23)

    分類:[ASP.NET (VB)] 

    お世話になります
    下記URLを参考にUPするサイトを作成しましたが
    ボタンクリック時にファイル名をIDの番号に変えて、場所をDBに書き込ませる機能を追加するにはどのようにすればよいのでしょうか?
    DBはaccess2003が理想です。
    http://www.atmarkit.co.jp/fdotnet/dotnettips/321uploadform/uploadform.html

    現在は下記です(Default.aspx)
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>無題のページ</title>
    </head>
    <body>

    <form id="Form2" method="post" runat="server" enctype="multipart/form-data">
    <P>送信するファイルを指定して、[送信]ボタンを押してください。</P>
    <P><INPUT type="file" id="File1" runat="server"></P>
    <P>
    <asp:Button id="Button1" runat="server" Text="送信" />
    </P>

    </body>
    </html>


    (Default.aspx.vb)
    Partial Class Default
    Inherits System.Web.UI.Page
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim posted As HttpPostedFile = Request.Files("userfile")

    If Not posted.FileName = "" Then
    posted.SaveAs( _
    "C:\img\" _
    & System.IO.Path.GetFileName(posted.FileName))
    End If
    End Sub
    End Class

    どなたかご存知の方なにとぞご教授願います。
親記事 /過去ログ49より / 関連記事表示
削除チェック/

■26545  Re[1]: 画像のUPロード時にファイル場所の書き込み
□投稿者/ やじゅ -(2008/10/14(Tue) 01:37:32)
>
    No26543 (初心者 さん) に返信
    > お世話になります
    > 下記URLを参考にUPするサイトを作成しましたが
    > ボタンクリック時にファイル名をIDの番号に変えて、場所をDBに書き込ませる機能を追加するにはどのようにすればよいのでしょうか?
    > DBはaccess2003が理想です。

    もう少し仕様を明確に!
記事No.26543 のレス /過去ログ49より / 関連記事表示
削除チェック/

■26595  Re[2]: 画像のUPロード時にファイル場所の書き込み
□投稿者/ 初心者 -(2008/10/15(Wed) 12:40:40)
    No26545 (やじゅ さん) に返信
    > ■No26543 (初心者 さん) に返信
    >>お世話になります
    >>下記URLを参考にUPするサイトを作成しましたが
    >>ボタンクリック時にファイル名をIDの番号に変えて、場所をDBに書き込ませる機能を追加するにはどのようにすればよいのでしょうか?
    >>DBはaccess2003が理想です。
    >
    > もう少し仕様を明確に!
    お返事ありがとうございます
    素人なりに調べたのが先ほどのURLでVisualstudio2005standardを購入して実装したらきちんと動いてくれましたが
    追加機能が必要となり質問となります。

    必要な追加機能(新規)
    ■現在のままではUPファイル名前重複等が発生してはいけないのでIDに置き換えて管理をしたい。
    ■UP後の回覧時用にデータベースにファイル場所を書き込みさせたい。
    ■UPだけではなくほかの文字(題名や記事等)同時に入力させたい。

    上記三点が理想機能でございます。
記事No.26543 のレス /過去ログ49より / 関連記事表示
削除チェック/

■26613  Re[3]: 画像のUPロード時にファイル場所の書き込み
□投稿者/ 純@WAS -(2008/10/15(Wed) 17:18:54)
    FileUpLoadコントロールはいかがでしょう???
    (もう殆ど実装していてなんですが…)

    C#ですが、類似のものを作った事はあります。
    VBはかなりブランクがあるので、構文が間違えていたら適宜訂正して下さい。

    まず、aspx側にFileUpLoadコントロールを配置します(コントロールIDはfupAttachFileとします)
    そうしたら、送信ボタンクリックイベント(ASPコントロールと仮定します)に以下の通り書きます。

    'どうやら参照したファイル名を手入力で変更するとaspxのコードがファイルに吐かれる現象があるようです。
    If Not fupAttachFile.FileBytes.Length = 0 Then
    Dim uploadFileName as string = fupAttachedFile.FileName
    fupAttachFile.SaveAs(ConfigurationManager.AppSettings[ここにインデクス] + "\\" + fileId + uploadFileName)
    End If

    上記で注目して頂きたいのが
    ・ConfigurationManager.AppSettings[ここにインデクス]
    ・fileId
    です。

    ファイルパスについては、構成ファイル(web.config)で定義しています。
    まらfileIdはファイルのIDを割り当てるためのメソッドを作成しています。

    なので、ファイル名がabc.txt、ファイルIDが001の場合、
    アップロードされるファイル名は 「001abc.txt」となり、
    ファイルパスは構成ファイルで定義したファイルパスになります。

    >UP後の回覧時用にデータベースにファイル場所を書き込みさせたい。
    上記のように構成ファイルで定義すれば、それをDBにInsertするだけです。

    >UPだけではなくほかの文字(題名や記事等)同時に入力させたい。
    これはアップロードしたファイルに対して、テキストボックスやリストボックスで記載した内容を反映したいということでしょうか?
    別ユーザが開いているときにファイルを変更、修正する操作は競合を引き起こすと思いますが…勘違いならスイマセン

    ただ、アップロードしたファイルを修正、変更したりするのであれば、
    StreamReaderとStreamWriterを使用すれば出来ます。
    StreamWriterにAppendAllTextや、AppendAllBytesがあったと記憶しているので、それらを使えば大丈夫なはずです。
    …VBのサンプルをかけないので文言で失礼します。
記事No.26543 のレス /過去ログ49より / 関連記事表示
削除チェック/

■26617  Re[4]: 画像のUPロード時にファイル場所の書き込み
□投稿者/ なちゃ -(2008/10/15(Wed) 17:41:23)
    元のファイル名は含めない方がいいでしょう。
    IDはDB側でシーケンスを取るのが多分無難ですね。
    ファイルの属性はテキストボックスとかに入れさせて
    DB登録時に同時に入れたらいいと思います。
記事No.26543 のレス /過去ログ49より / 関連記事表示
削除チェック/

■26900  Re[5]: 画像のUPロード時にファイル場所の書き込み
□投稿者/ 初心者 -(2008/10/22(Wed) 17:09:12)
    2008/10/22(Wed) 17:13:24 編集(投稿者)
    2008/10/22(Wed) 17:11:00 編集(投稿者)
    2008/10/22(Wed) 17:10:42 編集(投稿者)

    No26617 (なちゃ さん) に返信
    > 元のファイル名は含めない方がいいでしょう。
    > IDはDB側でシーケンスを取るのが多分無難ですね。
    > ファイルの属性はテキストボックスとかに入れさせて
    > DB登録時に同時に入れたらいいと思います。
    >
    お返事ありがとうございます
    現在テキストボックスの入力で、ファイル名を変更させてUPできるようになりました。
    Jitta さんの言うように

    ■いつIDを取得するか(テキストボックスに)
    ■DBにいつ保存させるか等

    上記をクリアすればUPページは完成しそうなんですが

    *参考URL http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.fileupload(VS.80).aspx
    *現在のコード
    <%@ Page Language="VB" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">

    Sub UploadButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)

    ' Specify the path on the server to
    ' save the uploaded file to.
    Dim savePath As String = "C:\img\"

    ' Before attempting to perform operations
    ' on the file, verify that the FileUpload
    ' control contains a file.
    If (FileUpload1.HasFile) Then
    ' Get the name of the file to upload.
    Dim fileName As String = FileUpload1.FileName
    Dim sevefile = TextBox1.Rows
    Dim jpg = TextBox2.Rows
    ' Append the name of the file to upload to the path.
    savePath += TextBox1.Text & TextBox2.Text

    ' Call the SaveAs method to save the
    ' uploaded file to the specified path.
    ' This example does not perform all
    ' the necessary error checking.
    ' If a file with the same name
    ' already exists in the specified path,
    ' the uploaded file overwrites it.
    FileUpload1.SaveAs(savePath)

    ' Notify the user of the name the file
    ' was saved under.
    UploadStatusLabel.Text = "Your file was saved as " & TextBox1.Text & TextBox2.Text

    Else
    ' Notify the user that a file was not uploaded.
    UploadStatusLabel.Text = "You did not specify a file to upload."
    End If

    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    End Sub
    </script>

    <html >
    <head id="Head1" runat="server">
    <title>FileUpload Example</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <h4>Select a file&nbsp; upload</h4>
    <h4>

    <asp:FileUpload id="FileUpload1"
    runat="server">
    </asp:FileUpload>
    </h4>
    <h4>
    Select a File Name<br />
    <asp:TextBox ID="TextBox1" runat="server" SkinID="<%$ ConnectionStrings:LocalSqlServer %>"></asp:TextBox>
    </h4>
    <h4>
    Select a File Extension
    <br />
    <asp:TextBox ID="TextBox2" runat="server" ReadOnly="True">.jpg</asp:TextBox></h4>
    <h4>
    <br />

    <asp:Button id="UploadButton"
    Text="Upload file"
    OnClick="UploadButton_Click"
    runat="server" Width="157px">
    </asp:Button>

    <hr />

    <asp:Label id="UploadStatusLabel"
    runat="server">
    </asp:Label>
    </h4>
    </div>
    </form>
    </body>
    </html>

    どなたかご教授願います
記事No.26543 のレス /過去ログ49より / 関連記事表示
削除チェック/

■26625  Re[3]: 画像のUPロード時にファイル場所の書き込み
□投稿者/ Jitta -(2008/10/15(Wed) 20:41:14)
>
    No26595 (初心者 さん) に返信
    で?

    > ■現在のままではUPファイル名前重複等が発生してはいけないのでIDに置き換えて管理をしたい。
    ID は、誰が、いつ、どうやって、決めるのでしょう?

    > ■UP後の回覧時用にデータベースにファイル場所を書き込みさせたい。
    ファイルを保存する場所は、誰が、いつ、どうやって、決めるのでしょう?

    > ■UPだけではなくほかの文字(題名や記事等)同時に入力させたい。
    それらは、どこに保存し、いつ、どうやって、誰に、見せるのでしょう?


    プログラムの初心者であっても、初心者ならなおさら、疑問に思いませんか?

    -----

    最初の投稿に「posted.SaveAs」というコードがあります。SaveAs なのですから、ここでファイルの保存(Save)をしているわけです。As がついているので、名前も指定しています。したがって、ここに指定されている「System.IO.Path.GetFileName(posted.FileName)」を ID に変えれば、最初の「ID に置き換えて保存したい」は実現できます。

    ということがわからないとは、思えなかったのですが、どうでしょう?
記事No.26543 のレス /過去ログ49より / 関連記事表示
削除チェック/

■26793  Re[4]: 画像のUPロード時にファイル場所の書き込み
□投稿者/ 初心者 -(2008/10/21(Tue) 12:10:10)
    No26625 (Jitta さん) に返信
    > ■No26595 (初心者 さん) に返信
    > で?
    >
    >>■現在のままではUPファイル名前重複等が発生してはいけないのでIDに置き換えて管理をしたい。
    > ID は、誰が、いつ、どうやって、決めるのでしょう?
    >
    >>■UP後の回覧時用にデータベースにファイル場所を書き込みさせたい。
    > ファイルを保存する場所は、誰が、いつ、どうやって、決めるのでしょう?
    >
    >>■UPだけではなくほかの文字(題名や記事等)同時に入力させたい。
    > それらは、どこに保存し、いつ、どうやって、誰に、見せるのでしょう?
    >
    >
    > プログラムの初心者であっても、初心者ならなおさら、疑問に思いませんか?
    >
    > -----
    >
    > 最初の投稿に「posted.SaveAs」というコードがあります。SaveAs なのですから、ここでファイルの保存(Save)をしているわけです。As がついているので、名前も指定しています。したがって、ここに指定されている「System.IO.Path.GetFileName(posted.FileName)」を ID に変えれば、最初の「ID に置き換えて保存したい」は実現できます。
    >
    > ということがわからないとは、思えなかったのですが、どうでしょう?
    >

    お返事ありがとうございます。
    10日で覚えるASP2.0を購入してきましたがまったく持ってわかりません
    > ID は、誰が、いつ、どうやって、決めるのでしょう?
    > ファイルを保存する場所は、誰が、いつ、どうやって、決めるのでしょう?
    上記を考えてFormView内で作成していくイメージかなと。。
    通常入力ならFormView Insrtで可能かとそのときAccess側でオートメンバにしていれば勝手にIDがふれらるはずなんですが

    > それらは、どこに保存し、いつ、どうやって、誰に、見せるのでしょう?
    保存はCにimgファルダを作成してそこに保存させる予定です(TEST用)
    回覧はテキストでGridViewを絞り込みボタンでFormViewで明細といった感じを考えてます(MultiView)
記事No.26543 のレス /過去ログ49より / 関連記事表示
削除チェック/

■26796  Re[5]: 画像のUPロード時にファイル場所の書き込み
□投稿者/ ロック -(2008/10/21(Tue) 13:32:32)
    imgという単語から画像掲示板のような物を想像したので参考までに。。。
    #別スレに書いた内容をほぼコピペですが

    「Visual Studio 2005でいってみよう〜ASP.NET 2.0編 」という本に
    画像掲示板の作成が載っています。
    そして、この書籍の紹介サイトでこの本に載っているサンプルが
    DLできるので参考にしてみては?
    ああ、本も買うといいかも(別に翔泳社のまわしものじゃないです)

    http://seshop.com/detail.asp?pid=8094

    ちなみに10日で覚えるASP2.0と同じ著者です。
    自分で本を読みながら、打ちこんでいたので気づきませんでしたが
    VS2005だと、サンプルDLしてプロジェクト読み込んだだけでは
    コンパイルエラーになりました。(エラー内容は詳しくみてません)
    あとこの本では、FileUpload使っています。
    さらに、DBはSQL Serverですが、ちょっと変えれば大丈夫だと思います。

    >10日で覚えるASP2.0
    そういえば、買ったけど読んでないな・・内容くらいは把握しておこうかな
記事No.26543 のレス /過去ログ49より / 関連記事表示
削除チェック/

■26813  Re[6]: 画像のUPロード時にファイル場所の書き込み
□投稿者/ 初心者 -(2008/10/21(Tue) 15:01:30)
    No26796 (ロック さん) に返信
    > imgという単語から画像掲示板のような物を想像したので参考までに。。。
    > #別スレに書いた内容をほぼコピペですが
    >
    > 「Visual Studio 2005でいってみよう〜ASP.NET 2.0編 」という本に
    > 画像掲示板の作成が載っています。
    > そして、この書籍の紹介サイトでこの本に載っているサンプルが
    > DLできるので参考にしてみては?
    > ああ、本も買うといいかも(別に翔泳社のまわしものじゃないです)
    >
    > http://seshop.com/detail.asp?pid=8094
    >
    > ちなみに10日で覚えるASP2.0と同じ著者です。
    > 自分で本を読みながら、打ちこんでいたので気づきませんでしたが
    > VS2005だと、サンプルDLしてプロジェクト読み込んだだけでは
    > コンパイルエラーになりました。(エラー内容は詳しくみてません)
    > あとこの本では、FileUpload使っています。
    > さらに、DBはSQL Serverですが、ちょっと変えれば大丈夫だと思います。
    >
    > >10日で覚えるASP2.0
    > そういえば、買ったけど読んでないな・・内容くらいは把握しておこうかな
    >
    お返事ありがとうございます
    10日で覚えるASP2.0も、確かにFileUpload使ってますが、
    UPするときにID名に変更し、DBに保存させる技法がのってませんでした。

    Visual Studio 2005でいってみよう〜ASP.NET 2.0編は載っているのでしょうか?
    それともどこかにヒントが載っているのでしょうか?
    それなら10日で覚えるASP2.0も載っているような気が・・・・
記事No.26543 のレス /過去ログ49より / 関連記事表示
削除チェック/

■26910  Re[7]: 画像のUPロード時にファイル場所の書き込み
□投稿者/ ロック -(2008/10/22(Wed) 18:56:21)
    問題はアップロードではなくファイル名の方でしたか失礼しました。

    >■いつIDを取得するか(テキストボックスに)
    DBがAccessだと、あまり詳しくないですが
    IDの取得は、AccessだとIDで降順ソートした先頭データに+1した値が
    最新のIDになると思います。
    こういうSQL「SELECT TOP 1 ID FROM support_m ORDER BY ID DESC」で
    末尾のデータを1件取得
    「テキストボックスに」とありますが、別にID+テキストボックスの内容で
    SaveAs()で良いと思います。


    サンプルソース書こうと思ったのですが、
    ADO.NET周りの記述が無いのでちょと質問。
    OleDbConnection()とかOleDbCommand()とかは大丈夫ですか?
    この辺を聞いて?だと、ADO.NETを勉強する事をお勧めします。
    「10日で覚えるASP2.0」にはこの辺の記述が全くないので不安です。

    とりあえず、自分のソースから使えそうなところをコピペして
    大体こんな感じでは?というのを記述
    #別に意地悪しているわけじゃないですが、C#しか知らないのでC#です(汗)

    ボタン押下のイベント直後
    OleDbConnection OleCon;
    OleCon = new OleDbConnection();
    OleCon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=アクセスファイル.mdb;";
    OleCon.Open();
    OleDbCommand OleCmd = new OleDbCommand();
    OleCmd.Parameters.Clear();
    OleCmd.Connection = OleCon;
    OleCmd.CommandText = "SELECT TOP 1 ID FROM support_m ORDER BY ID DESC";
    Object result = OleCmd.ExecuteScalar();
    OleCon.Close();
    Int32 iID = Convert.ToInt32(result);
    iID++; // これが最新のIDになるのかな

    そしたら、テキストボックスの値とこの値を付加したファイル名を作って・・・
    という流れになると思いますので
    まずは、ADO.NETでSQL文を使ってDBから値を取得するという所からやってみては?
    たぶん、それが解決への近道になると思います。

    >Visual Studio 2005でいってみよう〜ASP.NET 2.0編は載っているのでしょうか?
    >それともどこかにヒントが載っているのでしょうか?
    >それなら10日で覚えるASP2.0も載っているような気が・・・・
    10日で覚えるASP2.0とVisual Studio 2005でいってみよう〜ASP.NET 2.0編の内容は、
    かなり似ていました。
    得られる知識はたぶん同じようなものだと思います
    が、実際にアプリケーションを作成している分、後者の方が得られる経験は多いです
    まあこの辺は、参考までにということで。。
記事No.26543 のレス /過去ログ49より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -