質問するログイン新規登録

質問編集履歴

2

コード追加

2018/02/01 01:06

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -6,6 +6,72 @@
6
6
  ファイルのアップロード時にchangeで検知しているのですが、同一ファイルでは値が同じためアップがされません(されないままで大丈夫です)。
7
7
  その場合にアラートを出したいのですが、その方法について伺いたいです。
8
8
 
9
+ ```javascript
10
+ $('#uploadCvPc').on('change', function(event){
11
+ // すでにアップロードされた画像枚数
12
+ var cnt = $('.cv-file-pc img').length;
13
+ lastCnt = cnt;
14
+ var $input = $(this);
15
+ var files = event.target.files;
16
+ $li = $input.closest('.each_file');
17
+ for (var i = 0, f; f = files[i]; i++) {
18
+ cnt += i;
19
+ // アップロード可能枚数の制限
20
+ if(cnt === 20) {
21
+ alert('可能な選択枚数を超えています。(20枚まで選択できます。)');
22
+ return false;
23
+ }
24
+ // 一件ずつアップロード
25
+ (function(f){ // スコープを分離→変数fileName/filetimeをFileオブジェクトごとに用意する
26
+ imageFileUpload(f);
27
+ // entrant_id取得
28
+ var id = $("#id").val();
29
+ var fileName = f.name;
30
+ var filetime = f.lastModified;
31
+ var imgUrl = '{!!url("/img/career_paper/cv/' + id + '/' + fileName + '")!!}';
32
+ var imgLink = '{!!url("/img/career_paper/cv/' + id + '")!!}';
33
+ var reader = new FileReader;
34
+ reader.readAsDataURL(f);
35
+ reader.onloadend = function(){
36
+ ext = f.name.split(".").pop(); // ファイル拡張子取得
37
+ linkUrl = imgLink + '/' + filetime + '.' + ext;
38
+ var fileReader = this;
39
+ // 画像以外の拡張子の場合アイコンを表示
40
+ if(ext === 'pdf') { // pdfファイル
41
+ fileUrl = '{!!url("/img/portal/pdfIcon.jpeg")!!}';
42
+ } else if(ext === 'csv' || ext === 'xls' || ext === 'xlsx' || ext === 'xlsm') { // エクセルファイル
43
+ fileUrl = '{!!url("/img/portal/excelIcon.jpg")!!}';
44
+ } else if(ext === 'zip') { // zipファイル
45
+ fileUrl = '{!!url("/img/portal/zipIcon.jpeg")!!}';
46
+ } else if(ext === 'pptx'){
47
+ fileUrl = '{!!url("/img/portal/powerpointIcon.jpg")!!}';
48
+ } else if(ext === 'doc' || ext === 'docx'){
49
+ fileUrl = '{!!url("/img/portal/wordIcon.jpg")!!}';
50
+ } else if(ext === 'jpg' || ext === 'JPG' || ext === 'jpeg' || ext === 'png' || ext === 'bmp' || ext === 'gif'){
51
+ fileUrl = fileReader.result;
52
+ }
53
+ if(fileUrl){
54
+ var thumb = '<div style="margin: 15px 10px 0 10px;width:200px;float: left;" class="cv-file-pc box"><a href="' + linkUrl + '" target=”_blank”><img src="' + fileUrl + '" width="200px" height="210px" style="max-width: 200px; max-height: 210px;height: -webkit-fill-available;margin-top:5px;" alt="'+ i +'"><input type="hidden" name="id" value="{{request()->input('id')}}"><input type="hidden" name="filename" value="' + imgUrl + '"><input type="hidden" name="filetime" value="' + filetime + '"></a><span style="width: 70px; height: 19px; text-align: center; margin-top: 5px;margin: 0 auto;float: right;cursor : pointer;" class="delete_btn bt-photo02 ui-bt-nomal ui-opaimg">削除</span></div>';
55
+ $li.append(thumb);
56
+ } else {
57
+ alert('ファイルのタイプが適切ではありません。');
58
+ }
59
+ };
60
+ })(f);
61
+ }
62
+ // 追加アップロード分を合わせて枚数をカウント
63
+ sum = lastCnt + i;
64
+ $('#inputFiletext').text('経歴書 ' + sum + '枚 選択中');
65
+ });
66
+
67
+ ```
68
+ ```html
69
+ <label style="text-align: center; width: 150px; margin: 0 auto; padding: 10px;" class="bt-photo02 ui-bt-nomal ui-opaimg">経歴書を添付する
70
+ <input type="file" id="uploadCvPc" class="input_file" name="img_file[]" value="経歴書をアップロード" style="display:none;" multiple>
71
+ <input type="hidden" id="id"name="id" value="{{request()->input('id')}}">
72
+ </label>
73
+ ```
74
+
9
75
  ご教授いただければ幸いです。
10
76
 
11
77
  よろしくお願いいたします

1

「やりたいこと」追記

2018/02/01 01:06

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,6 +2,10 @@
2
2
  いつもお世話になっております。
3
3
  今回changeイベントを使い、値が変更しない場合を検知したいのですが、そもそもそれは可能でしょうか?
4
4
 
5
+ ##やりたいこと
6
+ ファイルのアップロード時にchangeで検知しているのですが、同一ファイルでは値が同じためアップがされません(されないままで大丈夫です)。
7
+ その場合にアラートを出したいのですが、その方法について伺いたいです。
8
+
5
9
  ご教授いただければ幸いです。
6
10
 
7
11
  よろしくお願いいたします