現在、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時間以上は調べてます)
私の知識が乏しいため、必要な情報を逃してしまっていることもあるかもしれませんが、どなたかお分かりになるようでしたらご教授お願いしたいです。
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
大体以下のような感じでしょうか。私の場合は、アップロードされたファイルはサーバー内のディレクトリには保存せず、バイナリでSQL Server の中に保存しています。
HTML
1<div id="dropzoneInsert" class="dropzone dropzoneMyStyle"> 2 <div class="dz-message dz-remove">ここにファイルを載せるとアップロードできます。またクリックすることにより通常の「ファイル選択」でもアップロードできます。</div> 3</div> 4 5 6<script> 7$(function () { 8 //ページ読み込み時の自動検出を無効にする(複数配置で読み込みエラーが発生するため) 9 Dropzone.autoDiscover = false; 10 //新規登録時のD&D 11 $('#dropzoneInsert').dropzone({ 12 paramName: "file" 13 ,createImageThumbnails:false 14 ,maxFilesize: 1000 // MB 15 ,uploadMultiple: true //複数ファイルのアップロードを許可する 16 ,parallelUploads:1 //複数ファイルのアップロードは1つずつ処理する 17 //,createImageThumbnails: false //サムネイルは作成しない 18 ,method: "post" 19 ,url: "../main/upload.aspx?cmd=ins&func=1&key=" + '<%=Request.QueryString("id")%>' 20 ,addRemoveLinks: false 21 ,dictRemoveFile: ""//削除の文字は表示させない 22 ,totaluploadprogress: function(progress, totalBytes, totalBytesSent){ 23 //success や complete では複数ファイルのアップロードが終わる前に動いてしまうので、ここで100%になった時点で処理を走らせる 24 var button = $("#<%=ButtonAutoClick.ClientID%>"); 25 if (progress==100) button.click();//表示を更新させるだけ 26 } 27 28 ,error: function(file, message) { 29 $(file.previewElement) // 対象の要素 30 console.log(file); 31 console.log(message); // アップ失敗の理由 32 //alert(message); 33 } 34 35 }); 36 37}); 38</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
投稿2016/08/19 04:03
総合スコア24
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
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 ~ も
投稿2016/07/22 02:20
編集2016/07/22 02:32総合スコア2030
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。