私のdjangoバックエンドにテキストファイルをアップロードしようとしていますが、request.FILES
は常に空です。リクエストを取得できません。ファイルdjango
私はファイルを送信するためにAxiosを使用しており、要求のコンテンツタイプとして 'multipart/form-data'を持つdjangoの要件に従っています。
私には何が欠けていますか?
------ WebKitFormBoundarymAnl54hGVTifZzwMのコンテンツディスポジション:ネットワーク要求ペイロードで
new Vue({ el: '#app', data: { reqtype: '', uploadedFile: '', }, methods: { onSubmit(event) { this.submitLoading = true; if (! this.validateForm(this)) { event.preventDefault(); this.submitLoading = false; return; } var formData = new FormData(); formData.append("reqtype", this.reqtype) formData.append('fileToUpload', this.uploadedFile) axios.post('/sreqtool/tc/', formData, { headers: { 'Content-Type': 'multipart/form-data' } }) }, onFileChange(e) { var files = e.target.files || e.dataTransfer.files; if (!files.length) return; var reader = new FileReader(); var vm = this; reader.onload = (e) => { vm.uploadedFile = e.target.result; }; reader.readAsDataURL(files[0]); } }, }
:私は経由でPOSTリクエストを送る私のapp.jsで
フォームデータ;名前= "REQTYPE"
が
をファイルベース------ WebKitFormBoundarymAnl54hGVTifZzwMのコンテンツディスポジション:フォームデータ;名前= "fileToUpload"
データ:text/plainで、私のviews.pyでbase64で、OTA1NTIzMzg2NQ0KOTE3NTAwMTU0Mg0KOTc3NDczNjcyNg0KMTIzNTQ2ODQ1Ng == ------ WebKitFormBoundarymAnl54hGVTifZzwM--
は私が持っている:
@csrf_exempt
def index(request):
if request.method == 'POST':
DLOG.info(request.POST)
DLOG.info(request.FILES)
form = ExtractForm(request.POST, request.FILES)
if form.is_valid():
res = QueryManager.processRequest(request.user, form.cleaned_data)
を
DLOGは私のロガーで、dlogの出力は次のとおりです。
[2017-12-18 16:51:06,510] INFO views index: <QueryDict: {u'fileToUpload': [u'data:text/plain;base64,OTA1NTIzMzg2NQ0KOTE3NTAwMTU0Mg0KOTc3NDczNjcyNg0KMT
IzNTQ2ODQ1Ng=='], u'reqtype': [u'filebased']}>
[2017-12-18 16:51:06,512] INFO views index: <MultiValueDict: {}>
JSの機能は何ですか?すなわち 'これは何ですか?おそらく 'this.uploadedFile.files [0]'のようなinput要素から実際のファイルを取得する必要があります。 –
vueオブジェクトのその部分。 vueのインスタンス化を組み込むようにコードスニペットを更新しました。 –
base64イメージを保存しようとしています。これを読んでください:https://stackoverflow.com/questions/39576174/save-base64-image-in-django-file-field – Farrukh