Uploaderror Large Type und Doppelt

This commit is contained in:
Holger Trampe 2021-10-18 09:36:31 +02:00
parent f8b10b9ec8
commit 6977dc51f7
2 changed files with 45 additions and 27 deletions

View File

@ -164,12 +164,10 @@
<!-- TODO: Upload ins richtige Verzeichnis--> <!-- TODO: Upload ins richtige Verzeichnis-->
<input type="file" id="uploadedfile" name="uploadedfile" style="display:none"> <input type="file" id="uploadedfile" name="uploadedfile" style="display:none">
{% if user|usergperm:"filesmanager" %}
<div class="alert alert-secondary text-center mt-5" id="directdiv" role="alert" style="line-height: 17px; text-align: center;"> <div class="alert alert-secondary text-center mt-5" id="directdiv" role="alert" style="line-height: 17px; text-align: center;">
<button type="button" class="btn btn-primary btn-sm" id="uploadButton" onclick="javascript:uploadButtonPush()"><i class="fas fa-plus"></i></button>&nbsp;&nbsp;<small>klicken/hineinziehen<p class="mt-2">Dateien werden im Verzeichnis <b>Agenturdaten/Standards Uploadbereich </b> gespeichert. <button type="button" class="btn btn-primary btn-sm" id="uploadButton" onclick="javascript:uploadButtonPush()"><i class="fas fa-plus"></i></button>&nbsp;&nbsp;<small>klicken/hineinziehen<p class="mt-2">Dateien werden im Verzeichnis <b>Agenturdaten/Standards Uploadbereich </b> gespeichert.
</small></p> </small></p>
</div> </div>
{% endif %}
</div> </div>
</div> </div>
</div> </div>
@ -269,13 +267,13 @@
<div class="modal-dialog " role="document"> <div class="modal-dialog " role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitle">Datei nicht erlaubt</h5> <h5 class="modal-title" id="exampleModalLongTitle">Fehler beim Upload</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Schließen"> <button type="button" class="close" data-dismiss="modal" aria-label="Schließen">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
Diesen Dateitypen dürfen Sie nicht hochladen. Die Datei wurde nicht hochgeladen! Bitte prüfen Sie die erlaubten Dateitypen, die maximale Dateigröße und ob die Datei im Ordner <b>Standards Uploadbereich</b> bereits vorhanden ist.
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-success" data-dismiss="modal">Schließen</button> <button type="button" class="btn btn-success" data-dismiss="modal">Schließen</button>
@ -1240,7 +1238,7 @@ function doUploadAction(filetodo, replacestat){
processData: false, processData: false,
contentType: false, contentType: false,
beforeSend: function(){ beforeSend: function(){
$("#uploadModalProgress").modal("toggle"); $("#uploadModalProgress").modal("show");
}, },
xhr: function() { xhr: function() {
var xhr = new window.XMLHttpRequest(); var xhr = new window.XMLHttpRequest();
@ -1253,7 +1251,7 @@ function doUploadAction(filetodo, replacestat){
return xhr; return xhr;
}, },
success: function(data) { success: function(data) {
console.log(data);
if(data["success"] == true){ if(data["success"] == true){
setTimeout(function(){ setTimeout(function(){
hideUpload(); hideUpload();
@ -1264,12 +1262,22 @@ function doUploadAction(filetodo, replacestat){
}, 1000); }, 1000);
} }
else{ else{
$("#forbiddenFileType").modal("toggle") setTimeout(function(){
hideUpload();
$("#forbiddenFileType").modal("toggle");
}, 1000);
} }
},
error: function(){
setTimeout(function(){
hideUpload();
$("#forbiddenFileType").modal("toggle");
}, 1000);
} }
}); });
} }
else{ else{
hideUpload();
$("#forbiddenFileType").modal("toggle") $("#forbiddenFileType").modal("toggle")
} }
} }

View File

@ -825,7 +825,6 @@ def StandardChangePublic(request, pk):
standard.save() standard.save()
return redirect('standards') return redirect('standards')
# TODO: Upload der Standard-Dateien passt noch nicht, BUG!!!!
@login_required @login_required
def StandardSingle(request, pk): def StandardSingle(request, pk):
@ -1217,25 +1216,36 @@ def uploadFileFromStandard(request):
if(file_ok): if(file_ok):
final_file_path = settings.NEXTCLOUD_URL + "remote.php/dav/files/" + request.user.username + "/Agenturdaten/Standards Uploadbereich/" + request.FILES['uploadedfile'].name final_file_path = settings.NEXTCLOUD_URL + "remote.php/dav/files/" + request.user.username + "/Agenturdaten/Standards Uploadbereich/" + request.FILES['uploadedfile'].name
r = requests.put(final_file_path, data=request.FILES['uploadedfile'], headers={'Content-Type' : 'text/xml;', 'Authorization' : "Bearer " + request.user.profile.nc_sid}) # Check if File already exist
if(len(r.text) == 0): try:
try: new_file_name = request.FILES['uploadedfile'].name
new_file_name = request.FILES['uploadedfile'].name filesearchdata = '<?xml version="1.0" encoding="UTF-8"?><d:searchrequest xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns"><d:basicsearch><d:select><d:prop><oc:fileid/></d:prop></d:select><d:from><d:scope><d:href>/files/' + request.user.username + '</d:href><d:depth>infinity</d:depth></d:scope></d:from><d:where><d:like><d:prop><d:displayname/></d:prop><d:literal>' + new_file_name + '</d:literal></d:like></d:where></d:basicsearch></d:searchrequest>'
# Upload OK - get File-ID in NC r = requests.request("SEARCH", settings.NEXTCLOUD_URL + "remote.php/dav/", data=filesearchdata, headers={'Content-Type' : 'text/xml;', 'Authorization' : "Bearer " + request.user.profile.nc_sid})
filesearchdata = '<?xml version="1.0" encoding="UTF-8"?><d:searchrequest xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns"><d:basicsearch><d:select><d:prop><oc:fileid/></d:prop></d:select><d:from><d:scope><d:href>/files/' + request.user.username + '</d:href><d:depth>infinity</d:depth></d:scope></d:from><d:where><d:like><d:prop><d:displayname/></d:prop><d:literal>' + new_file_name + '</d:literal></d:like></d:where></d:basicsearch></d:searchrequest>' #print(r.text)
r = requests.request("SEARCH", settings.NEXTCLOUD_URL + "remote.php/dav/", data=filesearchdata, headers={'Content-Type' : 'text/xml;', 'Authorization' : "Bearer " + request.user.profile.nc_sid}) split_response = r.text.split("<oc:fileid>")
#print(r.text) new_id = split_response[1].split("</oc:fileid>")[0]
split_response = r.text.split("<oc:fileid>") return JsonResponse({"success" : False, "data" : "file exist"})
new_id = split_response[1].split("</oc:fileid>")[0] except:
# File will be uploaded
tf = NCFile(agency=request.user.profile.agency, nc_id=new_id) r = requests.put(final_file_path, data=request.FILES['uploadedfile'], headers={'Content-Type' : 'text/xml;', 'Authorization' : "Bearer " + request.user.profile.nc_sid})
tf.save() if(len(r.text) == 0):
return JsonResponse({"success" : success, "data" : {'savedobj_id' : new_id, 'savedobj_name' : new_file_name}}) try:
except: new_file_name = request.FILES['uploadedfile'].name
success = True # Upload OK - get File-ID in NC
return JsonResponse({"success" : success, "data" : {'savedobj_id' : None, 'savedobj_name' : 'Datei hochgeladen, enthält aber falsche Zeichen. Bitte Seite neu laden und anschließend über Suchfeld hinzufügen.'}}) filesearchdata = '<?xml version="1.0" encoding="UTF-8"?><d:searchrequest xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns"><d:basicsearch><d:select><d:prop><oc:fileid/></d:prop></d:select><d:from><d:scope><d:href>/files/' + request.user.username + '</d:href><d:depth>infinity</d:depth></d:scope></d:from><d:where><d:like><d:prop><d:displayname/></d:prop><d:literal>' + new_file_name + '</d:literal></d:like></d:where></d:basicsearch></d:searchrequest>'
r = requests.request("SEARCH", settings.NEXTCLOUD_URL + "remote.php/dav/", data=filesearchdata, headers={'Content-Type' : 'text/xml;', 'Authorization' : "Bearer " + request.user.profile.nc_sid})
#print(r.text)
split_response = r.text.split("<oc:fileid>")
new_id = split_response[1].split("</oc:fileid>")[0]
tf = NCFile(agency=request.user.profile.agency, nc_id=new_id)
tf.save()
return JsonResponse({"success" : success, "data" : {'savedobj_id' : new_id, 'savedobj_name' : new_file_name}})
except:
success = True
return JsonResponse({"success" : success, "data" : {'savedobj_id' : None, 'savedobj_name' : 'Datei hochgeladen, enthält aber falsche Zeichen. Bitte speichern Sie den Standard, laden die Seite ne und binden die Datei danach ein.'}})
return JsonResponse({"success" : success, "data" : "DONE!"}) return JsonResponse({"success" : success, "data" : "DONE!"})
return JsonResponse({"success" : success, "data" : "DONE!"}) return JsonResponse({"success" : success, "data" : "DONE!"})