質問編集履歴

2

コード追加

2018/02/01 01:06

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -14,6 +14,138 @@
14
14
 
15
15
 
16
16
 
17
+ ```javascript
18
+
19
+ $('#uploadCvPc').on('change', function(event){
20
+
21
+ // すでにアップロードされた画像枚数
22
+
23
+ var cnt = $('.cv-file-pc img').length;
24
+
25
+ lastCnt = cnt;
26
+
27
+ var $input = $(this);
28
+
29
+ var files = event.target.files;
30
+
31
+ $li = $input.closest('.each_file');
32
+
33
+ for (var i = 0, f; f = files[i]; i++) {
34
+
35
+ cnt += i;
36
+
37
+ // アップロード可能枚数の制限
38
+
39
+ if(cnt === 20) {
40
+
41
+ alert('可能な選択枚数を超えています。(20枚まで選択できます。)');
42
+
43
+ return false;
44
+
45
+ }
46
+
47
+ // 一件ずつアップロード
48
+
49
+ (function(f){ // スコープを分離→変数fileName/filetimeをFileオブジェクトごとに用意する
50
+
51
+ imageFileUpload(f);
52
+
53
+ // entrant_id取得
54
+
55
+ var id = $("#id").val();
56
+
57
+ var fileName = f.name;
58
+
59
+ var filetime = f.lastModified;
60
+
61
+ var imgUrl = '{!!url("/img/career_paper/cv/' + id + '/' + fileName + '")!!}';
62
+
63
+ var imgLink = '{!!url("/img/career_paper/cv/' + id + '")!!}';
64
+
65
+ var reader = new FileReader;
66
+
67
+ reader.readAsDataURL(f);
68
+
69
+ reader.onloadend = function(){
70
+
71
+ ext = f.name.split(".").pop(); // ファイル拡張子取得
72
+
73
+ linkUrl = imgLink + '/' + filetime + '.' + ext;
74
+
75
+ var fileReader = this;
76
+
77
+ // 画像以外の拡張子の場合アイコンを表示
78
+
79
+ if(ext === 'pdf') { // pdfファイル
80
+
81
+ fileUrl = '{!!url("/img/portal/pdfIcon.jpeg")!!}';
82
+
83
+ } else if(ext === 'csv' || ext === 'xls' || ext === 'xlsx' || ext === 'xlsm') { // エクセルファイル
84
+
85
+ fileUrl = '{!!url("/img/portal/excelIcon.jpg")!!}';
86
+
87
+ } else if(ext === 'zip') { // zipファイル
88
+
89
+ fileUrl = '{!!url("/img/portal/zipIcon.jpeg")!!}';
90
+
91
+ } else if(ext === 'pptx'){
92
+
93
+ fileUrl = '{!!url("/img/portal/powerpointIcon.jpg")!!}';
94
+
95
+ } else if(ext === 'doc' || ext === 'docx'){
96
+
97
+ fileUrl = '{!!url("/img/portal/wordIcon.jpg")!!}';
98
+
99
+ } else if(ext === 'jpg' || ext === 'JPG' || ext === 'jpeg' || ext === 'png' || ext === 'bmp' || ext === 'gif'){
100
+
101
+ fileUrl = fileReader.result;
102
+
103
+ }
104
+
105
+ if(fileUrl){
106
+
107
+ 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>';
108
+
109
+ $li.append(thumb);
110
+
111
+ } else {
112
+
113
+ alert('ファイルのタイプが適切ではありません。');
114
+
115
+ }
116
+
117
+ };
118
+
119
+ })(f);
120
+
121
+ }
122
+
123
+ // 追加アップロード分を合わせて枚数をカウント
124
+
125
+ sum = lastCnt + i;
126
+
127
+ $('#inputFiletext').text('経歴書 ' + sum + '枚 選択中');
128
+
129
+ });
130
+
131
+
132
+
133
+ ```
134
+
135
+ ```html
136
+
137
+ <label style="text-align: center; width: 150px; margin: 0 auto; padding: 10px;" class="bt-photo02 ui-bt-nomal ui-opaimg">経歴書を添付する
138
+
139
+ <input type="file" id="uploadCvPc" class="input_file" name="img_file[]" value="経歴書をアップロード" style="display:none;" multiple>
140
+
141
+ <input type="hidden" id="id"name="id" value="{{request()->input('id')}}">
142
+
143
+ </label>
144
+
145
+ ```
146
+
147
+
148
+
17
149
  ご教授いただければ幸いです。
18
150
 
19
151
 

1

「やりたいこと」追記

2018/02/01 01:06

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -6,6 +6,14 @@
6
6
 
7
7
 
8
8
 
9
+ ##やりたいこと
10
+
11
+ ファイルのアップロード時にchangeで検知しているのですが、同一ファイルでは値が同じためアップがされません(されないままで大丈夫です)。
12
+
13
+ その場合にアラートを出したいのですが、その方法について伺いたいです。
14
+
15
+
16
+
9
17
  ご教授いただければ幸いです。
10
18
 
11
19