1

そこで、標準のアップロード ファイル コードを使用して、自分のサイトにアップロード機能を作成しました。私がテストしたすべてのファイル タイプ (pdf、gif、jpg) は問題なく動作するようですが、docx ファイルをアップロードしようとすると、Django はファイルを .zip ファイルとして保存します。どうやらそれは「コンテンツスニッフィング」と関係があるようですか?ここにコードがあります -

def upload_form(request):
  if request.method == 'POST':

    # Gets the information about the file
    uploaded_file = request.FILES['file']
    file_size, file_name = uploaded_file.size, "ID" + str(File.objects.all().count()) + "%" + request.POST['name']

    # Stops the processing if the file size is too large
    if(file_size > 5242880):
      return render_to_response('upload_form.html', { 'large_file' : '1' }, context_instance=RequestContext(request))

    file_path, file_course = '/home/simon/Centum/static/notes/' + file_name, request.POST['course']

    # Reads and writes the chunks
    with open(file_path, 'wb+') as destination:
      for chunk in request.FILES['file'].chunks():
        destination.write(chunk)     

    # Saves the file
    upload = File(
      name = file_name,
      real_name = file_name[file_name.find('%') + 1:],
      user = request.user,
      path = file_path,
      size = int(file_size),
      course = file_course.upper(),
      date_uploaded = datetime.datetime.now()
    )
    upload.save()
    return render_to_response('upload_form.html', {'success' : '1'}, context_instance=RequestContext(request))  

とにかく、アップロード時に .docx のままにするには?

4

1 に答える 1