質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.85%

  • jQuery

    5997questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

  • C#

    5994questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • Visual Studio

    1558questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • ASP.NET

    456questions

    ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

  • Framework

    111questions

    Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

ASP.NET ドラッグ&ドロップでのファイルアップロード

受付中

回答 2

投稿

  • 評価
  • クリップ 2
  • VIEW 2,818

nanaco54

score 4

現在、VisualStudio2005 C# .NET FrameWork2.0にて開発を行っており、asp.net MVCを使用せず、ファイルをドラッグ&ドロップで一度に複数アップロードできる機能を実装したいと考えています。

色々と調べた結果、JQueryを使用して実装することにし、

Dropzone.js http://www.dropzonejs.com/
jQuery-File-Upload http://blueimp.github.io/jQuery-File-Upload/

などを中心に色々と調べてみました。

しかし、上記の開発環境に対応した参考になるソースが一切でてきません。(既に10時間以上は調べてます)

私の知識が乏しいため、必要な情報を逃してしまっていることもあるかもしれませんが、どなたかお分かりになるようでしたらご教授お願いしたいです。

よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

0

まず、これからかも
検索ワード:質問の掲示のまんまで
ファイルをドラッグ&ドロップで一度に複数アップロード
https://www.google.co.jp/search?q=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%83%89%E3%83%A9%E3%83%83%E3%82%B0%EF%BC%86%E3%83%89%E3%83%AD%E3%83%83%E3%83%97%E3%81%A7%E4%B8%80%E5%BA%A6%E3%81%AB%E8%A4%87%E6%95%B0%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89&rls=com.microsoft:ja-JP:IE-ContextMenu&ie=UTF-8&oe=UTF-8&sourceid=ie7&gfe_rd=cr&ei=tIKRV-rOCauL8QfR6oHYCg&gws_rd=ssl

C# Ajax
https://www.google.co.jp/search?q=C%23+Ajax&rls=com.microsoft:ja-JP:IE-Address&ie=UTF-8&oe=UTF-8&sourceid=ie7&gfe_rd=cr&ei=g4ORV_OjGKmL8Qen2oCoAw&gws_rd=ssl

jQuery / Ajax :Java Version 、OS / IIS  Versionと合わせて検討になるのかも

何らかの理由があっての、ふる~い環境(VS2005/.NetFramework2.0)であれば、
出来る事は限られます。
費用面や、使っていない(VS2013 Community / VS2015 Community)という事であれば、
可能であれば、VS2013 / VS2015 で。
VS2013 / VS2015 で、ASP.NET WEB サイト、ASP.NET WEB プロジェクトは変更、作成可能です。
.NetFramework 2.0 ~ も

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

大体以下のような感じでしょうか。私の場合は、アップロードされたファイルはサーバー内のディレクトリには保存せず、バイナリでSQL Server の中に保存しています。

<div id="dropzoneInsert" class="dropzone dropzoneMyStyle">
    <div class="dz-message dz-remove">ここにファイルを載せるとアップロードできます。またクリックすることにより通常の「ファイル選択」でもアップロードできます。</div>
</div>


<script>
$(function () {
    //ページ読み込み時の自動検出を無効にする(複数配置で読み込みエラーが発生するため)
    Dropzone.autoDiscover = false;
    //新規登録時のD&D
    $('#dropzoneInsert').dropzone({
        paramName: "file"
        ,createImageThumbnails:false
        ,maxFilesize: 1000 // MB
        ,uploadMultiple: true //複数ファイルのアップロードを許可する
        ,parallelUploads:1 //複数ファイルのアップロードは1つずつ処理する
        //,createImageThumbnails: false //サムネイルは作成しない
        ,method: "post"
        ,url: "../main/upload.aspx?cmd=ins&func=1&key=" + '<%=Request.QueryString("id")%>'
        ,addRemoveLinks: false
        ,dictRemoveFile: ""//削除の文字は表示させない
        ,totaluploadprogress: function(progress, totalBytes, totalBytesSent){
            //success や complete では複数ファイルのアップロードが終わる前に動いてしまうので、ここで100%になった時点で処理を走らせる
            var button = $("#<%=ButtonAutoClick.ClientID%>");
            if (progress==100) button.click();//表示を更新させるだけ
        }

        ,error: function(file, message) {
            $(file.previewElement) // 対象の要素
            console.log(file);
            console.log(message); // アップ失敗の理由
            //alert(message);
        }

    });

});
</script>
Try
                Dim i As Integer = 0 'ファイル数カウンター
                Dim CommandName As String = Request.QueryString("cmd")      '-- ins:インサート、del:削除
                Dim FunctionNumber As Integer = Request.QueryString("func") '-- 機能番号
                Dim DataKey As Integer = Request.QueryString("key")         '-- 機能の中での主キー
                Dim UploadFile As HttpPostedFile

                Select Case CommandName
                    Case Is = "ins" '-- 追加処理
                        Dim cls As New clsDatabase

                        Using ts As New TransactionScope()
                            '-- ファイルの数だけループ
                            Do Until i = Request.Files.Count
                                UploadFile = Request.Files(i)

                                Dim UpContentType As String = UploadFile.ContentType
                                Dim UpFileName As String = System.IO.Path.GetFileName(UploadFile.FileName)
                                Dim UpContentLength As Integer = UploadFile.ContentLength

                                If UpContentLength > 0 Then '-- 内容が1バイト以上だったら処理する

                                    '-- SQLに引き渡せるよう、アップロードファイルを入力ストリーム経由でbyte配列に読み込む
                                    Dim aryData(UpContentLength - 1) As Byte '-- 配列なのでファイルのバイト数より1つ少ない数を指定する
                                    UploadFile.InputStream.Read(aryData, 0, UpContentLength)
                                    Select Case FunctionNumber '-- ループの外で判断したいがここ以外は共通なので ...
                                        Case Is = 1
                                            cls.Insert_wFile(FunctionNumber, DataKey, UpContentType, UpFileName, UpContentLength, aryData)
                                    End Select

                                End If
                                i += 1
                            Loop
                            ts.Complete()
                        End Using

                        cls = Nothing

                    Case Is = "del"
                        '    '削除処理を入れる
                End Select
            Catch ex As Exception
                Throw
            Finally

            End Try

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.85%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • jQuery

    5997questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

  • C#

    5994questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • Visual Studio

    1558questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • ASP.NET

    456questions

    ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

  • Framework

    111questions

    Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。