首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >上传二进制文件(Dicom文件)到flask服务器,同时使用javascript接收JSON响应

上传二进制文件(Dicom文件)到flask服务器,同时使用javascript接收JSON响应
EN

Stack Overflow用户
提问于 2020-09-04 10:19:55
回答 1查看 258关注 0票数 0

我正在尝试将dicom文件上传到运行深度学习模型的flask服务器,并从服务器获取JSON格式的预测值!

所以问题出在下面的javascript代码中。有没有一种方法可以同时发送和获取值?请帮帮我!!

HTML:

代码语言:javascript
复制
<body>
<input id="image-selector" type="file">    
<button id="predict-button">Predict</button>

<p><h1>PREDICTIONS</h1></p>
<span id="predicted-value_1">
<span id="predicted-value_2">
<span id="predicted-value_3">
</body>

JavaScript

代码语言:javascript
复制
$("#predict-button").click(function(){

    var form_data = new FormData();
    var ins = document.getElementById('image-selector').files.length;

    if(ins == 0) {
        $('#msg').html('<span style="color:red">Select one file</span>');
            return;
    }
    else{
        form_data = document.getElementById('image-selector').files[0]
    }

    let message = {
        "file": form_data
    }
    console.log(message);
    

    $.post("http://127.0.0.1:5000/predict", JSON.stringify(message), function(response){
    $("#predicted-value_1").text(response.prediction.value1);
    $("#predicted-value_1").text(response.prediction.value2);
    $("#predicted-value_1").text(response.prediction.value3);
    console.log(response);
    });
});

Python

代码语言:javascript
复制
@app.route("/predict", methods=['GET', 'POST'])
def predict():

if request.method == 'POST':
    # check if the post request has the file part
    if 'file' not in request.files:
        flash('No file part')
        return redirect(request.url)
    
    file = request.files['file']
    # if user does not select file, browser also
    # submit an empty part without filename
    if file.filename == '':
        flash('No selected file')
        return redirect(request.url)
    if file and allowed_file(file.filename):
        filename = secure_filename(file.filename)
   #Rest of the code! I can take it from here!!
EN

回答 1

Stack Overflow用户

发布于 2020-09-04 11:48:29

我在我的flask演示中做了一些类似的事情。你可以看一看,试一试。

HTML

代码语言:javascript
复制
    <h4>Welcome to ImageClassifier Demo</h4>
    <input type=text size=5 name=url>
    <button id="prediction" type="submit">
        <span>Predict</span>
    </button>
    <span id=result>
        Result:
    </span>

js

代码语言:javascript
复制
    <script type="text/javascript">
        $(document).ready(function(){
            $('#prediction').bind('click', function() {
                $.getJSON('/predict', {
                    a: $('input[name="url"]').val()
                    }, function(data) {
                        console.log("Result Received")
                        $("#result").text("Result: " + data.result);
                        });
                return false;
            });
        });
    </script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63733951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档