質問編集履歴

3

要らない箇所を削除

2018/06/17 14:39

投稿

UekiKouji
UekiKouji

スコア121

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

説明分の修正

2018/06/17 14:38

投稿

UekiKouji
UekiKouji

スコア121

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
- captureSesssion.sessionPreset = AVCaptureSessionPreset1920x1080
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
- override func didReceiveMemoryWarning() {
21
+ // swiftのソース
146
22
 
147
- super.didReceiveMemoryWarning()
23
+ ```ここに言語を入力
148
24
 
149
- // Dispose of any resources that can be recreated.
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

説明文追加

2018/06/17 13:02

投稿

UekiKouji
UekiKouji

スコア121

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