質問編集履歴
8
改善
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -251,15 +251,12 @@ 
     | 
|
| 
       251 
251 
     | 
    
         
             
            			files := form.File["upload[]"]
         
     | 
| 
       252 
252 
     | 
    
         | 
| 
       253 
253 
     | 
    
         
             
            			for _, file := range files {
         
     | 
| 
       254 
     | 
    
         
            -
            				if err != nil {
         
     | 
| 
       255 
     | 
    
         
            -
            					// handle error
         
     | 
| 
       256 
     | 
    
         
            -
            				}
         
     | 
| 
       257 
254 
     | 
    
         
             
            				f, err := file.Open()
         
     | 
| 
       258 
255 
     | 
    
         | 
| 
       259 
256 
     | 
    
         
             
            				defer f.Close()
         
     | 
| 
       260 
257 
     | 
    
         
             
            				fileInfo, _ := f.(*os.File).Stat()
         
     | 
| 
       261 
258 
     | 
    
         
             
            				size := fileInfo.Size()
         
     | 
| 
       262 
     | 
    
         
            -
            				buffer := make([]byte, size) 
     | 
| 
      
 259 
     | 
    
         
            +
            				buffer := make([]byte, size)
         
     | 
| 
       263 
260 
     | 
    
         | 
| 
       264 
261 
     | 
    
         
             
            				f.Read(buffer)
         
     | 
| 
       265 
262 
     | 
    
         
             
            				fileBytes := bytes.NewReader(buffer)
         
     | 
| 
         @@ -273,9 +270,6 @@ 
     | 
|
| 
       273 
270 
     | 
    
         
             
            					ContentType:   aws.String(fileType),
         
     | 
| 
       274 
271 
     | 
    
         
             
            				}
         
     | 
| 
       275 
272 
     | 
    
         
             
            				resp, err := svc.PutObject(params)
         
     | 
| 
       276 
     | 
    
         
            -
            				if err != nil {
         
     | 
| 
       277 
     | 
    
         
            -
            					// handle error
         
     | 
| 
       278 
     | 
    
         
            -
            				}
         
     | 
| 
       279 
273 
     | 
    
         | 
| 
       280 
274 
     | 
    
         
             
            				fmt.Printf("response %s", awsutil.StringValue(resp))
         
     | 
| 
       281 
275 
     | 
    
         
             
            			}
         
     | 
7
説明加筆
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -7,7 +7,7 @@ 
     | 
|
| 
       7 
7 
     | 
    
         
             
            2. 投稿ボタンを押すと、画像ファイルがサーバーに渡される
         
     | 
| 
       8 
8 
     | 
    
         
             
            3. サーバーで画像がS3に渡される処理が実行される
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
            現在問題として、「3. サーバーで画像がS3に渡される処理が実行される」時点でエラーが発生しています。
         
     | 
| 
      
 10 
     | 
    
         
            +
            現在問題として、「3. サーバーで画像がS3に渡される処理が実行される」時点でnilエラーが発生しています。
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
            フロントエンドにはReact、バックエンドサーバーにはGolangを利用しています。
         
     | 
| 
       13 
13 
     | 
    
         
             
            フロントからサーバーへの通信にはaxios/ginをそれぞれ用いています。
         
     | 
6
加筆
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -3,7 +3,7 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            ローカル環境で動く画像投稿機能を作成しています。
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            具体的には、以下のプロセスで画像をS3にアップロードしたいです。
         
     | 
| 
       6 
     | 
    
         
            -
            1. ユーザーが画面上から画像をアップロード
         
     | 
| 
      
 6 
     | 
    
         
            +
            1. ユーザーが画面上から画像をアップロード(複数画像可能)
         
     | 
| 
       7 
7 
     | 
    
         
             
            2. 投稿ボタンを押すと、画像ファイルがサーバーに渡される
         
     | 
| 
       8 
8 
     | 
    
         
             
            3. サーバーで画像がS3に渡される処理が実行される
         
     | 
| 
       9 
9 
     | 
    
         | 
5
誤字
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -240,8 +240,6 @@ 
     | 
|
| 
       240 
240 
     | 
    
         
             
            			}
         
     | 
| 
       241 
241 
     | 
    
         
             
            			ins.Exec(article.TITLE, article.CONTENT)
         
     | 
| 
       242 
242 
     | 
    
         | 
| 
       243 
     | 
    
         
            -
            			fmt.Println("still working")
         
     | 
| 
       244 
     | 
    
         
            -
             
     | 
| 
       245 
243 
     | 
    
         
             
            			//aws
         
     | 
| 
       246 
244 
     | 
    
         
             
            			creds := credentials.NewStaticCredentials(awsAccessKeyID, awsSecretAccessKey, token)
         
     | 
| 
       247 
245 
     | 
    
         | 
4
誤字
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -268,7 +268,7 @@ 
     | 
|
| 
       268 
268 
     | 
    
         
             
            				fileType := http.DetectContentType(buffer)
         
     | 
| 
       269 
269 
     | 
    
         
             
            				path := "/media/" + f.(*os.File).Name()
         
     | 
| 
       270 
270 
     | 
    
         
             
            				params := &s3.PutObjectInput{
         
     | 
| 
       271 
     | 
    
         
            -
            					Bucket:        aws.String(" 
     | 
| 
      
 271 
     | 
    
         
            +
            					Bucket:        aws.String("bucketname"),
         
     | 
| 
       272 
272 
     | 
    
         
             
            					Key:           aws.String(path),
         
     | 
| 
       273 
273 
     | 
    
         
             
            					Body:          fileBytes,
         
     | 
| 
       274 
274 
     | 
    
         
             
            					ContentLength: aws.Int64(size),
         
     | 
3
未完成だった
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -299,6 +299,4 @@ 
     | 
|
| 
       299 
299 
     | 
    
         
             
            form, _ := c.MultipartForm()
         
     | 
| 
       300 
300 
     | 
    
         
             
            ```
         
     | 
| 
       301 
301 
     | 
    
         | 
| 
       302 
     | 
    
         
            -
            ### 補足情報(FW/ツールのバージョンなど)
         
     | 
| 
       303 
     | 
    
         
            -
             
     | 
| 
       304 
     | 
    
         
            -
             
     | 
| 
      
 302 
     | 
    
         
            +
            以上、お手数ですがよろしくお願いいたします。
         
     | 
2
未完成だった
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -294,7 +294,10 @@ 
     | 
|
| 
       294 
294 
     | 
    
         | 
| 
       295 
295 
     | 
    
         
             
            ### 試したこと
         
     | 
| 
       296 
296 
     | 
    
         | 
| 
      
 297 
     | 
    
         
            +
            デバッグしたところ、サーバーサイドのメソッドでnilが原因で落ちていることがわかりました
         
     | 
| 
      
 298 
     | 
    
         
            +
            ```
         
     | 
| 
       297 
     | 
    
         
            -
             
     | 
| 
      
 299 
     | 
    
         
            +
            form, _ := c.MultipartForm()
         
     | 
| 
      
 300 
     | 
    
         
            +
            ```
         
     | 
| 
       298 
301 
     | 
    
         | 
| 
       299 
302 
     | 
    
         
             
            ### 補足情報(FW/ツールのバージョンなど)
         
     | 
| 
       300 
303 
     | 
    
         | 
1
完成まえに投稿
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -248,7 +248,7 @@ 
     | 
|
| 
       248 
248 
     | 
    
         
             
            			cfg := aws.NewConfig().WithRegion("ap-northeast-1").WithCredentials(creds)
         
     | 
| 
       249 
249 
     | 
    
         
             
            			svc := s3.New(session.New(), cfg)
         
     | 
| 
       250 
250 
     | 
    
         | 
| 
       251 
     | 
    
         
            -
             
     | 
| 
      
 251 
     | 
    
         
            +
            			//ここでformがnilになって落ちてしまいます
         
     | 
| 
       252 
252 
     | 
    
         
             
            			form, _ := c.MultipartForm()
         
     | 
| 
       253 
253 
     | 
    
         
             
            			files := form.File["upload[]"]
         
     | 
| 
       254 
254 
     | 
    
         |