Update app.py
Browse files
app.py
CHANGED
@@ -21,6 +21,9 @@ if GOOGLE_API_KEY is None:
|
|
21 |
app = Flask(__name__)
|
22 |
CORS(app)
|
23 |
|
|
|
|
|
|
|
24 |
# Initialize Gemini client with correct API key
|
25 |
client = genai.Client(api_key=GOOGLE_API_KEY)
|
26 |
|
@@ -341,6 +344,7 @@ HTML_TEMPLATE = """
|
|
341 |
<div class="upload-area" id="uploadArea">
|
342 |
<div class="upload-icon">π</div>
|
343 |
<p>Drag and drop your PDF file here, or click to select</p>
|
|
|
344 |
<input type="file" id="fileInput" class="file-input" accept=".pdf">
|
345 |
<button class="upload-btn" onclick="document.getElementById('fileInput').click()">
|
346 |
Choose PDF File
|
@@ -427,6 +431,12 @@ HTML_TEMPLATE = """
|
|
427 |
return;
|
428 |
}
|
429 |
|
|
|
|
|
|
|
|
|
|
|
|
|
430 |
showLoading('Uploading PDF...');
|
431 |
|
432 |
const formData = new FormData();
|
@@ -606,13 +616,13 @@ def upload_file():
|
|
606 |
if file.filename == '':
|
607 |
return jsonify({'success': False, 'error': 'No file selected'})
|
608 |
|
609 |
-
# Check file size (limit to
|
610 |
file.seek(0, 2) # Seek to end
|
611 |
file_size = file.tell()
|
612 |
file.seek(0) # Reset to beginning
|
613 |
|
614 |
-
if file_size >
|
615 |
-
return jsonify({'success': False, 'error': 'File too large. Maximum size is
|
616 |
|
617 |
# Read file content
|
618 |
file_content = file.read()
|
@@ -716,8 +726,8 @@ def upload_from_url():
|
|
716 |
|
717 |
# Check file size
|
718 |
content_length = len(response.content)
|
719 |
-
if content_length >
|
720 |
-
return jsonify({'success': False, 'error': 'File too large. Maximum size is
|
721 |
|
722 |
file_io = io.BytesIO(response.content)
|
723 |
|
@@ -896,7 +906,7 @@ def health_check():
|
|
896 |
# Error handlers
|
897 |
@app.errorhandler(413)
|
898 |
def too_large(e):
|
899 |
-
return jsonify({'success': False, 'error': 'File too large'}), 413
|
900 |
|
901 |
@app.errorhandler(500)
|
902 |
def internal_error(e):
|
|
|
21 |
app = Flask(__name__)
|
22 |
CORS(app)
|
23 |
|
24 |
+
# Configure Flask for larger file uploads
|
25 |
+
app.config['MAX_CONTENT_LENGTH'] = 50 * 1024 * 1024 # 50MB max file size
|
26 |
+
|
27 |
# Initialize Gemini client with correct API key
|
28 |
client = genai.Client(api_key=GOOGLE_API_KEY)
|
29 |
|
|
|
344 |
<div class="upload-area" id="uploadArea">
|
345 |
<div class="upload-icon">π</div>
|
346 |
<p>Drag and drop your PDF file here, or click to select</p>
|
347 |
+
<p style="font-size: 0.9em; color: #666; margin-top: 10px;">Maximum file size: 50MB</p>
|
348 |
<input type="file" id="fileInput" class="file-input" accept=".pdf">
|
349 |
<button class="upload-btn" onclick="document.getElementById('fileInput').click()">
|
350 |
Choose PDF File
|
|
|
431 |
return;
|
432 |
}
|
433 |
|
434 |
+
// Check file size on client side (50MB limit)
|
435 |
+
if (file.size > 50 * 1024 * 1024) {
|
436 |
+
showError('File too large. Maximum size is 50MB.');
|
437 |
+
return;
|
438 |
+
}
|
439 |
+
|
440 |
showLoading('Uploading PDF...');
|
441 |
|
442 |
const formData = new FormData();
|
|
|
616 |
if file.filename == '':
|
617 |
return jsonify({'success': False, 'error': 'No file selected'})
|
618 |
|
619 |
+
# Check file size (limit to 50MB for PDFs)
|
620 |
file.seek(0, 2) # Seek to end
|
621 |
file_size = file.tell()
|
622 |
file.seek(0) # Reset to beginning
|
623 |
|
624 |
+
if file_size > 50 * 1024 * 1024: # 50MB limit
|
625 |
+
return jsonify({'success': False, 'error': 'File too large. Maximum size is 50MB.'})
|
626 |
|
627 |
# Read file content
|
628 |
file_content = file.read()
|
|
|
726 |
|
727 |
# Check file size
|
728 |
content_length = len(response.content)
|
729 |
+
if content_length > 50 * 1024 * 1024: # 50MB limit
|
730 |
+
return jsonify({'success': False, 'error': 'File too large. Maximum size is 50MB.'})
|
731 |
|
732 |
file_io = io.BytesIO(response.content)
|
733 |
|
|
|
906 |
# Error handlers
|
907 |
@app.errorhandler(413)
|
908 |
def too_large(e):
|
909 |
+
return jsonify({'success': False, 'error': 'File too large. Maximum size is 50MB.'}), 413
|
910 |
|
911 |
@app.errorhandler(500)
|
912 |
def internal_error(e):
|