fix: topic file upload functionality in front and backend
This commit is contained in:
@@ -7,20 +7,22 @@ import StatsStyling from "../styles/stats_styling";
|
||||
const styles = StatsStyling;
|
||||
|
||||
const UploadPage = () => {
|
||||
let postFile: File | undefined
|
||||
let commentFile: File | undefined
|
||||
let postFile: File | undefined;
|
||||
let commentFile: File | undefined;
|
||||
let topicBucketFile: File | undefined;
|
||||
const [returnMessage, setReturnMessage] = useState('')
|
||||
const navigate = useNavigate()
|
||||
|
||||
const uploadFiles = async () => {
|
||||
if (!postFile || !commentFile) {
|
||||
alert('Please select both files before uploading.')
|
||||
if (!postFile || !commentFile || !topicBucketFile) {
|
||||
alert('Please upload all files before uploading.')
|
||||
return
|
||||
}
|
||||
|
||||
const formData = new FormData()
|
||||
formData.append('posts', postFile)
|
||||
formData.append('comments', commentFile)
|
||||
formData.append('topics', topicBucketFile)
|
||||
|
||||
try {
|
||||
const response = await axios.post('http://localhost:5000/upload', formData, {
|
||||
@@ -40,11 +42,15 @@ const UploadPage = () => {
|
||||
<div style={{...styles.container, ...styles.grid, margin: "0"}}>
|
||||
<div style={{ ...styles.card }}>
|
||||
<h2 style={{color: "black" }}>Posts File</h2>
|
||||
<input type="file" onChange={(e) => postFile = e.target.files?.[0]}></input>
|
||||
<input style={{color: "black" }} type="file" onChange={(e) => postFile = e.target.files?.[0]}></input>
|
||||
</div>
|
||||
<div style={{ ...styles.card }}>
|
||||
<h2 style={{color: "black" }}>Comments File</h2>
|
||||
<input type="file" onChange={(e) => commentFile = e.target.files?.[0]}></input>
|
||||
<input style={{color: "black" }} type="file" onChange={(e) => commentFile = e.target.files?.[0]}></input>
|
||||
</div>
|
||||
<div style={{ ...styles.card }}>
|
||||
<h2 style={{color: "black" }}>Topic Buckets File</h2>
|
||||
<input style={{color: "black" }} type="file" onChange={(e) => topicBucketFile = e.target.files?.[0]}></input>
|
||||
</div>
|
||||
<button onClick={uploadFiles}>Upload</button>
|
||||
|
||||
|
||||
@@ -20,17 +20,17 @@ stat_obj = StatGen(posts_df, comments_df, domain_topics)
|
||||
|
||||
@app.route('/upload', methods=['POST'])
|
||||
def upload_data():
|
||||
if "posts" not in request.files or "comments" not in request.files or "topics" not in request.form:
|
||||
if "posts" not in request.files or "comments" not in request.files or "topics" not in request.files:
|
||||
return jsonify({"error": "Missing required files or form data"}), 400
|
||||
|
||||
post_file = request.files["posts"]
|
||||
comment_file = request.files["comments"]
|
||||
topic_file = request.form["topics"]
|
||||
topic_file = request.files["topics"]
|
||||
|
||||
if post_file.filename == "" or comment_file.filename == "" or topic_file == "":
|
||||
return jsonify({"error": "Empty filename"}), 400
|
||||
|
||||
if not post_file.filename.endswith('.jsonl') or not comment_file.filename.endswith('.jsonl') or not topic_file.endswith('.json'):
|
||||
if not post_file.filename.endswith('.jsonl') or not comment_file.filename.endswith('.jsonl') or not topic_file.filename.endswith('.json'):
|
||||
return jsonify({"error": "Invalid file type. Only .jsonl and .json files are allowed."}), 400
|
||||
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user