Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 上载图像而不刷新/重新加载Flask中的页面_Html_Flask - Fatal编程技术网

Html 上载图像而不刷新/重新加载Flask中的页面

Html 上载图像而不刷新/重新加载Flask中的页面,html,flask,Html,Flask,我有一个HTML表单,用户可以通过它上传图像,但我不希望表单提交后重新加载或刷新。 这是我的HTML表单: <html> <head> <title>upload</title> </head> <body> <form action = "/success" method = "post" enc

我有一个HTML表单,用户可以通过它上传图像,但我不希望表单提交后重新加载或刷新。 这是我的HTML表单:

   <html>  
    <head>  
        <title>upload</title>  
    </head>  
    <body>  
        <form action = "/success" method = "post" enctype="multipart/form-data">  
            <input type="file" name="file" />  
            <input type = "submit" value="Upload">  
        </form>  
    </body>  
    </html> 

上载的图像已成功保存,但HTML页面会重新加载,这是我不希望看到的。提前感谢。

这是否回答了您的问题?如前所述,您需要使用Javascript。@Danielvarrell感谢您的快速回复。是的,它对我有用。
from flask import *  
from werkzeug.utils import secure_filename
import os
import skimage
import os.path
from os import path
from PIL import Image
import random
import imageio

app = Flask(__name__)  
       
UPLOAD_FOLDER = './flask app/uploads'

app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
 
@app.route('/')  
def upload():  
    return render_template("index.html")  
 
@app.route('/success', methods = ['GET', 'POST'])  
def success():  
    if request.method == 'POST':  
        model = load_model()
        f = request.files['file']
        filename = secure_filename(f.filename)
        print(filename)
        f.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
        image = skimage.io.imread(UPLOAD_FOLDER+'/'+filename)
        results = model.detect([image], verbose=1)
        r = results[0]
        #visualize.display_instances(image, r['rois'], r['masks'], r['class_ids'], r['scores'])
        path, dirs, files = next(os.walk(UPLOAD_FOLDER))
        file_count = len(files)
        image_name = 'segmented_image'+str(file_count)+'.jpg'
        class_names = ['BG', '0', '1', '2', '3', '4', '5']
        n = random.randint(0,100)
        folder_name = '/segmentation'+str(n)
        os.chdir(UPLOAD_FOLDER)
        dir_name = UPLOAD_FOLDER + folder_name
        os.mkdir(dir_name)
        os.chdir(dir_name)
        visualize.save_image(image, image_name, r['rois'], r['masks'], r['class_ids'], r['scores'], class_names=class_names, save_dir=dir_name)
        for i in range(r['rois'].shape[0]):
            n = random.randint(0, 100)
            img = image[r['rois'][i][0]:r['rois'][i][2], r['rois'][i][1]:r['rois'][i][3]]
            fname = 'seg'+ str(n)+'.jpg'
            imageio.imwrite(fname, img)
        return render_template("index.html", name = f.filename)

if __name__ == '__main__':  
    app.run(debug = True)