Code: Alles auswählen
import pip._vendor.requests
import json
from os import linesep
import base64
from pip._vendor.requests.structures import CaseInsensitiveDict
url = "https://api.nft-maker.io/UploadNft/HERE_STANDS_OUR_API_KEY"
headers = CaseInsensitiveDict()
headers["accept"] = "text/plain"
headers["Content-Type"] = "application/json"
testname = ["arraytest55", "arraytest66"]
counter = 1;
names = []
nftName = []
nftBase64 = []
nftBase64String = []
for x in range (0,10):
if (counter < 10):
nftName.append
(fr"C:\Users\Alex1\OneDrive\Desktop\CardaLuck\Python\UploadNFT\GoldfishTicket000{x+1}.jpg")
counter = counter + 1
continue
if (counter < 100):
nftName.append
(fr"C:\Users\Alex1\OneDrive\Desktop\CardaLuck\Python\UploadNFT\GoldfishTicket00{x+1}.jpg")
counter = counter + 1
continue
if (counter < 1000):
nftName.append
(fr"C:\Users\Alex1\OneDrive\Desktop\CardaLuck\Python\UploadNFT\GoldfishTicket0{x+1}.jpg")
counter = counter + 1
continue
else:
nftName.append
(fr"C:\Users\Alex1\OneDrive\Desktop\CardaLuck\Python\UploadNFT\GoldfishTicket{x+1}.jpg")
counter = counter + 1
continue
for x in range (0, 10):
with open(nftName[x], "rb") as image_file:
names.append(nftName[x])
nftBase64.append (base64.b64encode(image_file.read()))
nftBase64[x] = '"' + str(nftBase64) + '"'
for x in range(0,5):
data = """
{
"assetName": " """ + names[x] + """ ",
"previewImageNft": {
"mimetype": "string",
"fileFromBase64": """ + nftBase64[x] + """,
"description": "string",
"metadataPlaceholder": [
{
"name": "string",
"value": "string"
}
]
}
}
"""
resp = pip._vendor.requests.post(url, headers=headers, data=data)
print(resp.status_code)
Link zur API: https://api.nft-maker.io/swagger/index.html
Wir benutzen nur die Funktion "Upload NFT".
Hierbei haben wir unseren apikey und nftprojectid eingetragen und die curl request zu python formatiert. Dann habe ich alle Bildernamen in einen Array gespeichert und wieder ausgegeben (Was auch funktioniert). Dann habe ich die Bilder in Base64 umgewandelt, was ebenfalls funktioniert. Wenn ich dies dann aber versuche in die Request zu packen, wirft er mir immer 500 internal server error aus. WIr denken, dass es an der Formatierung des base64-string liegen könnte.
Vielen lieben Dank für euere Hilfe!