o527883184
2017-05-07 11:16
采纳率: 75%
浏览 4.3k

关于input file控件实现文件上传

做对象存储,前端file控件获取文件路径或者文件流,Ajax请求服务端处理页,完成文件上传到服务器。

不知个人思路有没有问题,搞了两天,缺乏交流,始终没发实现,也不知道各位一般采用什么方法实现,希望各位给予建议指点,万分感谢。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • 已采纳

    ajax需要结合html5的FormData或者canvas将图片转为base64字符串才能上传文件,要不单ajax上传不了文件的。

    可以使用jquery.form.js插件,支持FormData就用FomData,否则提交表单到iframe模拟ajax无刷新上传

    http://lichuhui.iteye.com/blog/295905

    点赞 打赏 评论
  • jasondyoung 2017-05-07 11:38

    如果springMVC做controller,可以直接接受HttpRequestServle获取inputStream.

    点赞 打赏 评论
  • 青鸟路过佳城 2017-05-07 12:06

    用Ajax请求应该也可以,我没这么用过

    点赞 打赏 评论
  • Java知音_ 2017-05-07 13:11

    一般用表单吧 文件类型的用ajax不好传值进去

    点赞 打赏 评论
  • o527883184 2017-05-07 13:33

    谁能解释一下上传文件的一个实现过程?本地可以直接通过文件路径使用.net File类获取到文件然后进行操作,当系统发布到外网,程序运行在远程服务器,通过文件路径就不能获取到文件了,采用数据流方式讲文件传输到服务器端处理页去进行处理,这意味着如果要将本地文件上传到第三方服务器就要先将文件流传输到自己服务器经过处理页面传到第三方服务器,是这样吗?

    点赞 打赏 评论
  • 黄河默默 2017-05-08 00:38

    fileUpload Js插件吧

    点赞 打赏 评论
  • kingbaron 2017-05-08 07:08

    最简单快捷的,使用jquery.ajaxfileupload.js,做做基本的文件上传还是很随意的

    点赞 打赏 评论
  • kingbaron 2017-05-08 07:20

    最简单快捷的,使用jquery.ajaxfileupload.js,做做基本的文件上传还是很随意的。

    //关键代码
    $.ajaxFileUpload({
                    url : that.config.url, // 用于文件上传的服务器端请求地址
                    secureuri : false, // 是否需要安全协议,一般设置为false
                    fileElementId : 'file_upload', // 文件上传域的ID,对应一个<input type=“file" id="file_upload/>
                    type:'POST',
                    data : {
                        //额外传递的参数
                    },
                    dataType : 'text/html', // 返回值类型 一般设置为json
                    success:function(res,status){}
        }
        ```
    
    点赞 打赏 评论

相关推荐 更多相似问题