相关疑难解决方法(0)

如何通过spring mvc控制器通过ajax sumbit传递文件对象

我试图通过jquery ajax提交传递文件对象.
JSP代码

<div id="import-file">
        <input type="file" id="file"/>
        <table>
        <tr><td><input type="radio" name="type" value="csv"></td><td>CSV File</td></tr>
        <tr><td><input type="radio" name="type" value="excel"></td><td>Excel spread sheet</td></tr>
        <tr><td><input type="radio" name="type" value="tab"></td><td>Tab delimited</td></tr>
        </table>
</div>
Run Code Online (Sandbox Code Playgroud)

Java脚本代码

        var type = $($('input:radio:checked')[0]).val();
        var file = $("#file")[0].files[0];
        alert($("#file")[0].files[0].name);
        $.ajax({
            data :{
                "file" : file,
                "type" : type
            },
            type: "POST",
            url: "fileupload.htm",
            success: function(data){
                alert(data);
            },
            error:function(err){
                alert(err);
            }
        });
Run Code Online (Sandbox Code Playgroud)

最后这里是我的春季控制器代码:

@RequestMapping(value="fileupload.htm",method=RequestMethod.POST )
    public @ResponseBody String uploadFile(@RequestParam String type, @RequestParam("file") MultipartFile file){
        logger.info("file type : "+type + "file is "+file.toString());
        return …
Run Code Online (Sandbox Code Playgroud)

javascript jquery spring

4
推荐指数
1
解决办法
2万
查看次数

使用Jasny文件输入使用PHP将文件上传到服务器

我正在实现Jasny File Input插件.但是,我无法将其上传到服务器.

HTML

<form method="post" id="formCreateMod" class="form form-horizontal" enctype="multipart/form-data" role="form">
    <div class="fileinput fileinput-new" data-provides="fileinput">
         <div class="fileinput-preview thumbnail" data-trigger="fileinput"></div>
         <div>
              <span class="btn btn-default btn-file"><span class="fileinput-new">Select image</span><span class="fileinput-exists">Change</span><input type="file" name="img"></span>
              <a href="#" class="btn btn-default fileinput-exists" data-dismiss="fileinput">Delete</a>
         </div>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

上面的代码段位于<form>代码中.然后我在jQuery中使用post将表单的序列化数据发送到服务器.

我希望通过使用$_FILES['img']["name"]或获取php中的内容$_FILES['img']["type"],但结果是NULL.

那么在图像发布后我应该如何在php中检索图像数据?

任何帮助将不胜感激!

更新

以下是我在jQuery中发布表单的方法.

var theForm = $('form');
$.post(location.href, theForm.serialize(), function(data) {
    // handle return data
});
Run Code Online (Sandbox Code Playgroud)

php jquery file-upload twitter-bootstrap twitter-bootstrap-3

3
推荐指数
1
解决办法
7340
查看次数

错误:通过AJAX传递表单数据时未找到多部分边界

我通过AJAX传递表单数据:

var data = new FormData();
data.append('username', username);
data.append('company', company);

$.ajax({
   url: 'path to service',
   type: 'POST',
   enctype: 'multipart/form-data',
   async: true,
   contentType: 'multipart/form-data',
   processData: false,
   data: data,
   cache: false,
   success: function(data){

   },
   error: function(error){

   }
});
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

请求被拒绝,因为没有找到多部分边界

ajax jquery multipartform-data

3
推荐指数
1
解决办法
9517
查看次数

在表单提交/节点之后阻止页面重新加载(没有可用的ajax)

美好的一天,我有一个表单,用于将字段和文件发送到node.js服务器.在服务器上由Formidable解析的数据.一切都运行良好,但在表单提交后,它会加载一个带有响应的页面.有没有人知道使用标准表单机制发送数据的方式不是重新加载页面(带有serialize的jQuery ajax方法因为表单中文件而无法工作)要么在服务器上写这样的响应,所以它不会触发页面重新加载.形成:

<form action="/upload" enctype="multipart/form-data" method="post" id="eventForm">
<label>Date</label>
<input type="text" name="date"/>
<label>Image</label>
<input type="file" multiple="multiple" name="picture" />
<input type="submit" value="Submit!" />
</form>
Run Code Online (Sandbox Code Playgroud)

服务器端:

app.post('/upload', function (req, res) {
    var form = new formidable.IncomingForm();
    // save file code goes here 
    form.parse(req, function(err, fields, files) {
        //response code goes here
        res.send('done');
    });
});
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?谢谢!

javascript forms ajax node.js formidable

2
推荐指数
1
解决办法
9963
查看次数

如何修改formData jquery

我想用ajax提交表单。我从使用 FormData 中获取数据,如下所示:

var data = new FormData($(this)[0]);
Run Code Online (Sandbox Code Playgroud)

表单的输入之一是 HSV 格式的颜色值。我想将其转换为十六进制值。我有一个 jquery 函数来转换它,但我不知道如何在 FormData 中操作它的值。

另一个问题是:如何从 FormData 中删除某些字段(键、值)?

forms ajax jquery

1
推荐指数
1
解决办法
7162
查看次数