質問編集履歴
3
要らない箇所を削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -37,8 +37,6 @@
|
|
37
37
|
// 送信する値の指定をここでします
|
38
38
|
|
39
39
|
multipartFormData.append(data!, withName: "test", fileName: "test.png", mimeType: "image/png")
|
40
|
-
|
41
|
-
//multipartFormData.append(sendSTR.data(using: String.Encoding.utf8)!, withName: "userId")
|
42
40
|
|
43
41
|
},
|
44
42
|
|
2
説明分の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,237 +14,15 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
// swiftのソース
|
18
|
-
|
19
|
-
```ここに言語を入力
|
20
|
-
|
21
|
-
class ViewController: UIViewController, AVCapturePhotoCaptureDelegate {
|
22
|
-
|
23
|
-
var image1:UIImage!
|
24
|
-
|
25
|
-
var data: Data!
|
26
|
-
|
27
|
-
var captureSesssion: AVCaptureSession!
|
28
|
-
|
29
|
-
var stillImageOutput: AVCapturePhotoOutput?
|
30
|
-
|
31
|
-
var previewLayer: AVCaptureVideoPreviewLayer?
|
32
|
-
|
33
|
-
var output:AVCapturePhotoOutput!
|
34
|
-
|
35
|
-
@IBOutlet weak var postbtn: UIButton!
|
36
|
-
|
37
|
-
@IBOutlet weak var backbtn: UIButton!
|
38
|
-
|
39
|
-
@IBOutlet weak var photoView: UIImageView!
|
40
|
-
|
41
|
-
@IBOutlet weak var btn: UIButton!
|
42
|
-
|
43
|
-
@IBOutlet weak var cameraView: UIView!
|
44
|
-
|
45
|
-
override func viewDidLoad() {
|
46
|
-
|
47
|
-
super.viewDidLoad()
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
photoView.isHidden = true;
|
52
|
-
|
53
|
-
backbtn.isHidden = true
|
54
|
-
|
55
|
-
postbtn.isHidden = true
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
captureSesssion = AVCaptureSession()
|
60
|
-
|
61
|
-
stillImageOutput = AVCapturePhotoOutput()
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
captureSesssion = AVCaptureSession()
|
66
|
-
|
67
|
-
stillImageOutput = AVCapturePhotoOutput()
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
// 解像度の設定
|
72
|
-
|
73
|
-
|
17
|
+
swiftのソースは画像をポストしているところ、PHPはポストした画像を受け取り、任意の場所に保存する処理をそれぞれアップしています。
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
let device = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeVideo)
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
do {
|
82
|
-
|
83
|
-
let input = try AVCaptureDeviceInput(device: device)
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
// 入力
|
88
|
-
|
89
|
-
if (captureSesssion.canAddInput(input)) {
|
90
|
-
|
91
|
-
captureSesssion.addInput(input)
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
// 出力
|
96
|
-
|
97
|
-
if (captureSesssion.canAddOutput(stillImageOutput)) {
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
// カメラ起動
|
102
|
-
|
103
|
-
captureSesssion.addOutput(stillImageOutput)
|
104
|
-
|
105
|
-
captureSesssion.startRunning()
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
// アスペクト比、カメラの向き(縦)
|
110
|
-
|
111
|
-
previewLayer = AVCaptureVideoPreviewLayer(session: captureSesssion)
|
112
|
-
|
113
|
-
previewLayer?.videoGravity = AVLayerVideoGravityResizeAspect // アスペクトフィット
|
114
|
-
|
115
|
-
previewLayer?.connection.videoOrientation = AVCaptureVideoOrientation.portrait
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
cameraView.layer.addSublayer(previewLayer!)
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
// ビューの表示サイズ
|
124
|
-
|
125
|
-
previewLayer?.position = CGPoint(x: self.cameraView.frame.width / 2, y: self.cameraView.frame.height / 2)
|
126
|
-
|
127
|
-
previewLayer?.bounds = cameraView.frame
|
128
|
-
|
129
|
-
}
|
130
|
-
|
131
|
-
}
|
132
|
-
|
133
|
-
}
|
134
|
-
|
135
|
-
catch {
|
136
|
-
|
137
|
-
print(error)
|
138
|
-
|
139
|
-
}
|
140
|
-
|
141
|
-
}
|
142
18
|
|
143
19
|
|
144
20
|
|
145
|
-
|
21
|
+
// swiftのソース
|
146
22
|
|
147
|
-
|
23
|
+
```ここに言語を入力
|
148
24
|
|
149
|
-
|
150
|
-
|
151
|
-
}
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
@IBAction func cameraButtonTapped(_ sender: Any) {
|
156
|
-
|
157
|
-
// カメラの設定
|
158
|
-
|
159
|
-
let settingsForMonitoring = AVCapturePhotoSettings()
|
160
|
-
|
161
|
-
settingsForMonitoring.flashMode = .auto
|
162
|
-
|
163
|
-
settingsForMonitoring.isAutoStillImageStabilizationEnabled = true
|
164
|
-
|
165
|
-
settingsForMonitoring.isHighResolutionPhotoEnabled = false
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
// 撮影
|
170
|
-
|
171
|
-
stillImageOutput?.capturePhoto(with: settingsForMonitoring, delegate: self)
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
}
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
/// カメラで撮影完了時にフォトライブラリに保存
|
180
|
-
|
181
|
-
func capture(_ captureOutput: AVCapturePhotoOutput, didFinishProcessingPhotoSampleBuffer photoSampleBuffer: CMSampleBuffer?, previewPhotoSampleBuffer: CMSampleBuffer?, resolvedSettings: AVCaptureResolvedPhotoSettings, bracketSettings: AVCaptureBracketedStillImageSettings?, error: Error?) {
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
if let photoSampleBuffer = photoSampleBuffer {
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
// JPEG形式で画像データを取得
|
190
|
-
|
191
|
-
let photoData = AVCapturePhotoOutput.jpegPhotoDataRepresentation(forJPEGSampleBuffer: photoSampleBuffer, previewPhotoSampleBuffer: previewPhotoSampleBuffer)
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
let image = UIImage(data: photoData!)
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
let imageView = UIImageView(image:image)
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
photoView.isHidden = false
|
204
|
-
|
205
|
-
cameraView.isHidden = true
|
206
|
-
|
207
|
-
btn.isHidden = true
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
backbtn.isHidden = false
|
212
|
-
|
213
|
-
postbtn.isHidden = false
|
214
|
-
|
215
|
-
// UIImageViewのインスタンスをビューに追加
|
216
|
-
|
217
|
-
photoView.image = image
|
218
|
-
|
219
|
-
image1 = image
|
220
|
-
|
221
|
-
data = photoData
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
}
|
228
|
-
|
229
|
-
}
|
230
|
-
|
231
|
-
@IBAction func backbtn(_ sender: Any) {
|
232
|
-
|
233
|
-
photoView.isHidden = true
|
234
|
-
|
235
|
-
cameraView.isHidden = false
|
236
|
-
|
237
|
-
btn.isHidden = false
|
238
|
-
|
239
|
-
backbtn.isHidden = true
|
240
|
-
|
241
|
-
postbtn.isHidden = true
|
242
|
-
|
243
|
-
}
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
@IBAction func postbtn(_ sender: Any) {
|
25
|
+
@IBAction func postbtn(_ sender: Any) {
|
248
26
|
|
249
27
|
|
250
28
|
|
@@ -292,21 +70,7 @@
|
|
292
70
|
|
293
71
|
)
|
294
72
|
|
295
|
-
photoView.isHidden = true
|
296
|
-
|
297
|
-
cameraView.isHidden = false
|
298
|
-
|
299
|
-
btn.isHidden = false
|
300
|
-
|
301
|
-
backbtn.isHidden = true
|
302
|
-
|
303
|
-
postbtn.isHidden = true
|
304
|
-
|
305
73
|
}
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
74
|
|
311
75
|
}
|
312
76
|
|
@@ -358,6 +122,8 @@
|
|
358
122
|
|
359
123
|
原因を調査したいのですが、どのように調べたらいいのかがよくわかりません。
|
360
124
|
|
125
|
+
また、原因として考えられることはなんでしょうか。
|
126
|
+
|
361
127
|
|
362
128
|
|
363
129
|
お願いします。
|
1
説明文追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
iPhoneで撮影した写真をポストする処理を作成しています。PHP側でポストしたデータをpngにで受け取っています。しかし、pngの写真が真っ白になります。写真がうまくポストできてないようです。
|
2
2
|
|
3
|
+
postmanを利用して、pngファイルをポストするとうまくいきました。
|
4
|
+
|
3
5
|
|
4
6
|
|
5
7
|
swift3
|