浏览器上传文件+django后台处理

1,浏览器端端js程序

2,django后端处理程序

接收来自浏览器上传的文件,并把文件存储在一指定的路径下。

product_id = request.POST.get(‘product_id‘)
sign = request.POST.get(‘sign‘)
file_size = request.POST.get(‘file_size‘)
sw_ver = request.POST.get(‘sw_ver‘)

file_dict = request.FILES.items()
if not file_dict:
      dict[‘status‘] = ‘no file upload‘
      return dict
for (k, v) in file_dict:
      logger.info("dic[%s]=%s", k, v)
      file_data = request.FILES.getlist(k)
      for fl in file_data:
            filename = fl._get_name()
            logger.info("filename=%s", filename)

path_file=base_path+"upgrade/"+product_id+‘/‘

           logger.info("path_file=%s", path_file)
           if not os.path.exists(path_file):
                os.makedirs(path_file)
          logger.info("path_file=%s", path_file)
          path_file+=filename
          # logger.info( "path_file1=%s",path_file1)
          # path_file=path_file1.encode(‘gb2312‘)
          logger.info("path_file=%s", path_file)
          try:
              with open(path_file, "wb") as f:
              if fl.multiple_chunks():
                   logger.info("multiple_chunks")
                   for content in fl.chunks():
                        f.write(content)
             else:
                   data=fl.read() ###.decode(‘utf-8‘)
                   logger.info("not multiple_chunks=%s", data)
                   f.write(data)
            #except Exception as e:
            except:
                 #logger.info("error=%s", repr(e))
                   logger.info("file write fail")
                   dict[‘status‘] = ‘file write fail‘
                   return dict

原文地址:https://www.cnblogs.com/huanhuaqingfeng/p/11130284.html

时间: 2024-10-06 15:22:13

浏览器上传文件+django后台处理的相关文章

Android上传图片到PHP服务器并且支持浏览器上传文件(word、图片、音乐等)

暑假已经过了一半了,这才完成计划当中的第二个任务.虽然进度是慢了点.但也算是暑假的收获吧.下面我就把我学习当中的收获记录在此. 还是跟以往一样,先上图片. 操作的步骤:打开程序---->选择上传的照片----->点击返回键------>显示没有选择上传图片的toast------>点击上传的图片----->打印图片的存储的物理路径---->询问是否确认上传选择的图片----->确认则显示上传成功---->取消则退出 php代码: <?php //上传文

浏览器上传文件到PHP的几种方法

使用H5的方法来上传文件 优点是:上传过程很方便,简单 缺点:并不是所有的浏览器都支持,兼容性比较差,现阶段不推荐使用 <div class="fr"> <!--上传文件方法一:--> <form name="form1"> <div class="progress"> <div class="progress-bars" style="width:1%"

angularJS 在edge浏览器上传文件,无法主动触发ng-click

今天发现的问题 在谷歌浏览器一直运行良好的功能,在edge浏览器不能使用. 代码参考我的另一篇博客:WebAPI Angularjs 上传文件 不能运行的原因 下图红框中的代码在edge浏览器中无法执行,也就不能执行下面的上传文件代码. 解决方案 既然原因找到了,就可以寻找解决方案了,找了一下午,有一篇有用的文章:angular ng-click程序触发,方法 我的解决方案(注意加粗加大的代码[关键哟]) JS代码如下: define(['app'], function (app) { app.

uploadify前台上传文件,java后台处理的例子

1.先创建一个简单的web项目upload (如图1-1) 2.插件的准备 (1).去uploadify的官网下载一个uploadify插件,然后解压新建个js文件夹放进去(这个不强求,只要路径对了就可以) (2).准备所需要的后端处理上传文件的jar包:commons-fileupload-1.2.1.jar 3.新建一个JSP即index.jsp +servlet即UploadServlet.java 图1-1 4.花几分钟对这些简单的配置完成后就可以看看index.jsp与UoloadSe

springmvc利用jqueryupload上传文件,后台处理方法

public void importIdentifySchemeFile(Integer id,Integer type,HttpServletRequest request, HttpServletResponse response){ PrintWriter out = null;          try {              //初始化变量              InputStream stream = null;              String ret_fileNa

struts利用插件jqueryupload上传文件,后台处理文件代码

package cn.axhu.education.action.file; import cn.axhu.education.common.FileSystemConfig;import cn.axhu.education.common.utils.FileUtils;import net.ruixin.web.struts2.SimpleActionSupport;import org.apache.struts2.convention.annotation.Action;import or

浏览器上传文件夹的解决方案

众所皆知,web上传大文件,一直是一个痛.上传文件大小限制,页面响应时间超时.这些都是web开发所必须直面的. 本文给出的解决方案是:前端实现数据流分片长传,后面接收完毕后合并文件的思路. 实现文件夹上传,要求:服务端保留层级结构,支持10w级别的文件夹上传. 大文件上传及断点续传,要求:支持50G级的单个文件上传和续传.续传要求:在刷新浏览器后能够续传上传,在重启浏览器后能够继续上传上(关闭浏览器后重新打开),在重启电脑后能够继续上传. 支持PC端全平台,Windows,Mac,Linux 浏

Html上传文件,后台接收

html代码:我是发送请求到teacher_center.aspx,不是到.ashx一般处理程序里,需要加 runat="server",有空我再试试发送请求到 .ashx 里 <input type="file" class="upload" id="fu_book_img" name="fu_book_img" runat="server" onchange="Sel

----vue中实现上传文件给后台----

一.FormData 对象的使用: 1.用一些键值对来模拟一系列表单控件:即把form中所有表单元素的name与value组装成 一个queryString 2. 异步上传二进制文件.(ps:说白了就是不使用form表单实现form表单提交数据或文件,如果还是不懂,请自行百度) 一.实现过程: 1.使用type类型为file的input框实现选择文件(顺便记录一下修改input框的默认样式) 2.修改input框的默认样式 3.通过选择文件拿到数据 4.请求接口       原文地址:https