I want to create a django app with the base64 help where the users can upload images(specific ".tiff" ext) using DJANGO forms without model and without that images store in my server. and i will the users can be get back new processing image. i have success with encode/decode image with base64 and i can display that image in template using safari because that can display TIFF images. here the code : views.py def convert_to_base64(image_file): base64_string = base64.encodestring(image_file) return "data:image/png;base64,"+base64_string
@csrf_exempt def index(request): form = ImageUploadForm(request.POST or None, request.FILES or None) if request.method == "POST" and form.is_valid(): image_file = request.FILES['image'].read() base64_string = convert_to_base64(image_file) file = base64_string.decode('utf8') return render_to_response("blog/success.html", {"image_file":file}) return render_to_response('blog/calc.html', {'form': form}, RequestContext(request)) my problem is now after the base64 i cant use that image for image processing(work fine in standalone python script) and i take two error : RuntimeError at / not a string in the browser and that message in command line : "GET / HTTP/1.1" 200 346 ERROR 4: `II*' does not exist in the file system, and is not recognised as a supported dataset name. here the code : @csrf_exempt def index(request): form = ImageUploadForm(request.POST or None, request.FILES or None) if request.method == "POST" and form.is_valid(): image_file = request.FILES['image'].read() base64_string = convert_to_base64(image_file) file = base64_string.decode('utf8') file_like = cStringIO.StringIO(image_file) flow_direction_uri = "output.tif" routing.flow_direction_d_inf(file_like, flow_direction_uri) return render_to_response("blog/success.html", {"image_file":file}) return render_to_response('blog/calc.html', {'form': form}, RequestContext(request)) and if i use file = base64_string.decode('utf8') as input in my function then i take that error : AttributeError at / 'NoneType' object has no attribute 'GetRasterBand' and in command line i take to like that : AIAAgACAAIAAgACAAIAAgACAAIAAgACA AIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA gACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACA AIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA with to many lines. -- https://mail.python.org/mailman/listinfo/python-list