Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用PIL在Django中上载、裁剪和保存图像_Python_Django_Image_Python Imaging Library_Naming - Fatal编程技术网

Python 使用PIL在Django中上载、裁剪和保存图像

Python 使用PIL在Django中上载、裁剪和保存图像,python,django,image,python-imaging-library,naming,Python,Django,Image,Python Imaging Library,Naming,我正在尝试用django上传一个配置文件图像,并使用PIL在服务器端裁剪它。我编写了一个简单的函数,它将文件和裁剪区域作为参数,裁剪图像并返回 我遇到的问题是,返回的对象没有文件名,因此django不知道如何保存它。以下是django错误页面的描述(错误名为AttributeError): /Library/Python/2.6/site-packages/PIL/Image.py in\uuu getattr__ #numpy阵列接口支持 新={} shape,typestr=\u conv\

我正在尝试用django上传一个配置文件图像,并使用PIL在服务器端裁剪它。我编写了一个简单的函数,它将文件和裁剪区域作为参数,裁剪图像并返回

我遇到的问题是,返回的对象没有文件名,因此django不知道如何保存它。以下是django错误页面的描述(错误名为AttributeError):

/Library/Python/2.6/site-packages/PIL/Image.py in\uuu getattr__
#numpy阵列接口支持
新={}
shape,typestr=\u conv\u type\u shape(self)
新的['shape']=形状
新建['typestr']=typestr
new['data']=self.tostring()
还新
提高属性错误(名称)。。。
##
#返回包含像素数据的字符串。
#
#@param encoder\u指定要使用的编码器。默认设置是
#使用标准的“原始”编码器。
▼ 局部变量
可变值
自己
名称“\u已提交”
您可以看到,如果直接从django上传,图像文件对象没有附加名称。我搜索了整个PIL文档和django文档,但没有找到任何可以为文件保存名称的内容(例如image.save(“filename.jpg”、“JPEG”)不起作用)。我希望将文件保存在内存中,如果可能的话,不必处理写入磁盘的问题


如果有必要,我可以附加额外的代码,但我认为/希望我只是缺少一些简单的Python代码。我知道有一些库可以使这对我来说更容易,但现在我只是想了解Python/django图像处理的基本原理。有什么想法吗?谢谢

您好bgmaster,如果您可以发布当前用于裁剪图像的代码,这将非常有帮助。好了,没有办法只将文件保存在内存中,但也许我们可以找到一个解决方法:)您好,bgmaster,如果您可以发布当前用于裁剪图像的代码,这将非常有帮助。好吧,没有办法只将文件保存在内存中,但也许我们可以找到一个解决方法:)
/Library/Python/2.6/site-packages/PIL/Image.py in __getattr__
        # numpy array interface support
        new = {}
        shape, typestr = _conv_type_shape(self)
        new['shape'] = shape
        new['typestr'] = typestr
        new['data'] = self.tostring()
        return new
    raise AttributeError(name) ...
##
# Returns a string containing pixel data.
#
# @param encoder_name What encoder to use.  The default is to
#    use the standard "raw" encoder.
▼ Local vars
Variable    Value
self        <PIL.Image.Image image mode=RGB size=300x300 at 0x101FCACF8> 
name    '_committed'