Skip to content

Commit 72e9821

Browse files
committed
trying to figure out image upload json error
1 parent 03fbee4 commit 72e9821

File tree

5 files changed

+14
-9
lines changed

5 files changed

+14
-9
lines changed

csm_web/frontend/src/components/ImageUploader.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import Cookies from "js-cookie";
12
import React, { useState } from "react";
23

34
const ImageUploader = () => {
@@ -19,8 +20,12 @@ const ImageUploader = () => {
1920
const formData = new FormData();
2021
formData.append("file", file);
2122

22-
const response = await fetch("/upload_image/", {
23+
const response = await fetch(`/profile/user/upload_image/`, {
2324
method: "POST",
25+
credentials: "same-origin",
26+
headers: {
27+
"X-CSRFToken": Cookies.get("csrftoken") ?? ""
28+
},
2429
body: formData
2530
});
2631

csm_web/frontend/src/components/UserProfile.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from "react";
22
import { useParams } from "react-router-dom";
33
import { PermissionError } from "../utils/queries/helpers";
44
import { useUserInfo, useUserInfoUpdateMutation } from "../utils/queries/profiles";
5+
import ImageUploader from "./ImageUploader";
56
import LoadingSpinner from "./LoadingSpinner";
67

78
import "../css/base/form.scss";
@@ -116,6 +117,8 @@ const UserProfile: React.FC = () => {
116117
return (
117118
<div id="user-profile-form">
118119
<h2 className="form-title">User Profile</h2>
120+
121+
<ImageUploader />
119122
<div className="csm-form">
120123
<div className="form-item">
121124
<label htmlFor="firstName" className="form-label">

csm_web/scheduler/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
path("user/", views.user_info, name="user"),
1919
path("user/<int:pk>/", views.user_retrieve, name="user_retrieve"),
2020
path("user/<int:pk>/update/", views.user_update, name="user_update"),
21-
path("user/<int:pk>/upload_image/", views.upload_image, name="2upload_image"),
21+
path("user/upload_image/", views.upload_image, name="upload_image"),
2222
path("matcher/active/", views.matcher.active),
2323
path("matcher/<int:pk>/slots/", views.matcher.slots),
2424
path("matcher/<int:pk>/preferences/", views.matcher.preferences),

csm_web/scheduler/views/user.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ def user_info(request):
142142

143143

144144
@api_view(["POST"])
145-
def upload_image(request, pk):
145+
def upload_image(request):
146146
"""
147147
Uploads an image to the aws s3 bucket
148148
"""
@@ -153,11 +153,7 @@ def upload_image(request, pk):
153153
)
154154
image = request.FILES["file"]
155155

156-
# use pk to get a User
157-
try:
158-
user = User.objects.get(pk=pk)
159-
except User.DoesNotExist:
160-
return Response({"detail": "Not found."}, status=status.HTTP_404_NOT_FOUND)
156+
user = request.user
161157

162158
user.profile_image.save(image.name, image)
163159

package-lock.json

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)