文件上传自动生成日期文件夹

Posted 52-qq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件上传自动生成日期文件夹相关的知识,希望对你有一定的参考价值。

前端:

<div class="container">
    <form action="">
        {% csrf_token %}
        <div class="col-md-4 col-md-offset-4">
        <div class="form-group">
            <input type="file" name="file" id="file_upload">
        </div>
    </div>
    </form>
    <button type="button" class="btn btn-default" id="btn_file">点击上传</button>
</div>

<script>
    $("#btn_file").click(function () {
        var form_data = new FormData();
        var file_info = $(#file_upload)[0].files[0];
        form_data.append(file, file_info);
        if (file_info == undefined){
            console.log(没有选择任何文件);
            return false
        }
        $.ajax({
            url: {% url "uploadFile" %},
            type: POST,
            headers:{"X-CSRFToken":$.cookie(csrftoken)},
            data: form_data,
            contentType:false,
            processData:false,
            success:function (data) {
                console.log(data)
            }
        })
    })
</script>

后端:

def uploadFile(request):
    from finanical import settings
    file_obj = request.FILES.get(file)
    file_name = file_obj.name
    time_path = time.strftime(%Y-%m-%d, time.localtime())
    path = os.path.join(settings.MEDIA_ROOT, time_path)
    if not os.path.exists(path):
        os.mkdir(path)
    path = os.path.join(path + / + file_name)
    with open(path, wb) as f:
        for i in file_obj.chunks():
            f.write(i)
    response = {
        error: 0,
        url: media/ + time_path + file_name + /
    }
    return HttpResponse(json.dumps(response))

 

还需要配置url

from django.conf.urls import url
from django.contrib import admin
from django.views.static import serve
from finanical import settings
from api import views
import xadmin

urlpatterns = [
    url(r^admin/, admin.site.urls),
    url(r^xadmin/, xadmin.site.urls),
    url(r^index/, views.index, name=index),
    url(r^media/(?P<path>.*), serve, {document_root: settings.MEDIA_ROOT}),
    url(r^uploadFile/$, views.uploadFile, name=uploadFile),
]

 

以上是关于文件上传自动生成日期文件夹的主要内容,如果未能解决你的问题,请参考以下文章

文件上传自动生成日期文件夹

将存储在内存中的文件上传到s3

JS创建文件并上传服务器

常用python日期日志获取内容循环的代码片段

Alamofire 文件上传出现错误“JSON 文本未以数组或对象开头,并且允许未设置片段的选项”

Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本