コード例 #1
0
ファイル: views.py プロジェクト: wangjian2254/wjBlog
def managePaperImage_upload(site,request):
    '''
    http://blog.csdn.net/jbgtwang/article/details/6454023
    '''
    f=request.FILES['imgfile']
    parser=ImageFile.Parser()
    for chunk in f.chunks():
        parser.feed(chunk)
    img=parser.close()
    newfilename=''
    ufile=UeditorFile()
    try:
        newfilename=getSaveName(UPLOAD_ROOT+str(site.get('id'))+'/','big'+f.name)
        ufile.filename=f.name
        ufile.realfilename=newfilename
        ufile.size=f.size
        ufile.title=request.POST.get('pictitle','')
        ufile.type='image'
        ufile.site=WebSiteInfo.objects.get(pk=site.get('id'))
        ufile.user=User.objects.get(pk=request.GET.get('userid'))
        ufile.save()
        paperImage=PaperImage.objects.get(pk=request.REQUEST.get('imgid'))
        w,h=img.size
        if f.name.split('.')[-1].lower()!='gif':
            if w>PAPERIMAGE_SIZE_WIDTH_BIG:
                nw=int(w*((PAPERIMAGE_SIZE_WIDTH_BIG*1.0)/(w*1.0)))
                nh=int(h*((nw*1.0)/(w*1.0)))
                img=img.resize((nw,nh))
                w=nw
                h=nh
                img.save(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename)
            else:
                img.save(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename)
            paperImage.img=newfilename

            ####
            newfilename=getSaveName(UPLOAD_ROOT+str(site.get('id'))+'/','mid'+newfilename)
            if w>PAPERIMAGE_SIZE_WIDTH_MID:
                nw=int(w*((PAPERIMAGE_SIZE_WIDTH_MID*1.0)/(w*1.0)))
                nh=int(h*((nw*1.0)/(w*1.0)))
                img=img.resize((nw,nh))
                w=nw
                h=nh
                img.save(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename)
            else:
                img.save(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename)
            paperImage.imgmid=newfilename
            ####
            newfilename=getSaveName(UPLOAD_ROOT+str(site.get('id'))+'/','small'+newfilename)
            if h>PAPERIMAGE_SIZE_HEIGH_SMALL:
                nh=int(h*((PAPERIMAGE_SIZE_HEIGH_SMALL*1.0)/(h*1.0)))
                nw=int(w*((nh*1.0)/(h*1.0)))
                img=img.resize((nw,nh))
                img.save(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename)
            else:
                img.save(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename)
            paperImage.imgsmall=newfilename
        else:
            img.save(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename)
            paperImage.img=newfilename
            paperImage.imgmid=newfilename
            paperImage.imgsmall=newfilename
        paperImage.save()
    except Exception,e:
        ufile.delete()
        return Http404()
コード例 #2
0
ファイル: views.py プロジェクト: wangjian2254/wjBlog
def adminInfo_save(site,request):
    if 'POST'!=request.method.upper():
    #        raise Http404()
    #        return HttpResponse(json.dumps({'ss':544}))
        return HttpResponseRedirect('/blog/Admin/AdminInfo')
    viewmap={}
    website=WebSiteInfo.objects.get(pk=site.get('id'))
    if website:
        bloguser=website.author
        if bloguser:
            bloguser.desc=request.POST.get('content')
            msg=u'保存成功'
            f=request.FILES['pic']
            if f:
                if not isAllowFiles(f.name,["gif" , "png" , "jpg" , "jpeg" , "bmp"]):
                    msg=u'保存失败,图片格式不对。'
                elif not isAllowSize(f.size,220000) :
                    msg=u'保存失败,图片大小过大。'
                else:
                    parser=ImageFile.Parser()
                    for chunk in f.chunks():
                        parser.feed(chunk)
                    img=parser.close()
                    newfilename=''
                    ufile=UeditorFile()
                    try:
                        newfilename=getSaveName(UPLOAD_ROOT+str(site.get('id'))+'/',f.name)
                        ufile.filename=f.name
                        ufile.realfilename=newfilename
                        ufile.size=f.size
                        ufile.title=request.POST.get('pictitle','')
                        ufile.type='image'
                        ufile.site=WebSiteInfo.objects.get(pk=site.get('id'))
                        ufile.user=request.user
                        ufile.save()
                        img.save(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename)
                    except Exception,e:
                        traceback.print_exc()
                        if ufile.id:
                            ufile.delete()
                        msg=u'保存失败。'
                    else:
                        bloguser.img=UPLOAD_URL+str(site.get('id'))+'/'+newfilename
                        bloguser.save()
            else:
                bloguser.save()
            viewmap['msg']=msg
            userinfo={}
            userinfo['img']=bloguser.img
            userinfo['content']=bloguser.desc
            viewmap['adminInfo']=userinfo
コード例 #3
0
ファイル: views.py プロジェクト: wangjian2254/wjBlog
def getRemoteImage(funname,site,request):
    result={}
    url=request.POST.get("upfile")
    result['state']=u'远程图片抓取成功'
    arr=url.split(ue_separate_ue)
    outSrc=[]
    for i,uri in enumerate(arr):
        outSrc.append('')
        if not isAllowFiles(uri,imgtype):
            result['state']=errorInfo['TYPE']
            continue
        fileuri=urllib.urlopen(uri)
        if fileuri.getcode()==200 and fileuri.headers.type.find('image')!=-1:
            # parser=ImageFile.Parser()
            # for chunk in fileuri.readlines():
            #     parser.feed(chunk)
            # fileuri.close()
            size=int(fileuri.headers.dict['content-length'])
            # img=parser.close()
            newfilename=''
            ufile=UeditorFile()
            try:
                newfilename=getSaveName(UPLOAD_ROOT+str(site.get('id'))+'/',uri.split('/')[-1])
                ufile.filename=uri.split('/')[-1]
                ufile.realfilename=newfilename
                ufile.size=size
                ufile.title=''
                ufile.type='image'
                ufile.site=WebSiteInfo.objects.get(pk=site.get('id'))
                ufile.user=request.user
                ufile.save()
                # img.save(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename)
                fileatt=open(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename,'wb+')
                for chunk in fileuri.readlines():
                    fileatt.write(chunk)
                fileatt.close()
                fileuri.close()
            except Exception,e:
                ufile.delete()
                result['state']=errorInfo['DIR']
                continue
            else:
            #                result['state']=errorInfo['SUCCESS']
                outSrc.insert(i,str(site.get('id'))+'/'+newfilename)
            pass
        else:
            result['state']=u'图片地址错误'
            continue
コード例 #4
0
ファイル: views.py プロジェクト: wangjian2254/wjBlog
def imageUp(funname,site,request):
    result=getResult()
    f=request.FILES[fieldname]
    if not isAllowFiles(f.name,imgtype):
        result['state']=errorInfo['TYPE']
    elif not isAllowSize(f.size,maxSize) :
        result['state']=errorInfo['SIZE']
    else:

        # parser=ImageFile.Parser()
        # for chunk in f.chunks():
        #     parser.feed(chunk)
        # img=parser.close()
        newfilename=''
        ufile=UeditorFile()
        try:
            newfilename=getSaveName(UPLOAD_ROOT+str(site.get('id'))+'/',f.name)
            ufile.filename=f.name
            ufile.realfilename=newfilename
            ufile.size=f.size
            ufile.title=request.POST.get('pictitle','')
            ufile.type='image'
            ufile.site=WebSiteInfo.objects.get(pk=site.get('id'))
            ufile.user=request.user
            ufile.save()
            # img.save(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename)
            fileatt=open(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename,'wb+')
            for chunk in f.chunks():
                fileatt.write(chunk)
            fileatt.close()
        except Exception,e:
            ufile.delete()
            result['state']=errorInfo['DIR']

        else:
コード例 #5
0
ファイル: views.py プロジェクト: wangjian2254/wjBlog
def fileUp(funname,site,request):
    result=getResult()
    f=request.FILES[fieldname]
    if not isAllowFiles(f.name,filetype):
#        result['state']=errorInfo['TYPE']
        result['state']=u'只允许上传 rar 和 zip 格式的数据'
    elif not isAllowSize(f.size,filemaxSize) :
        result['state']=u'最大允许上传1Mb的文件'
    else:
        newfilename=''
        ufile=UeditorFile()
        try:
            newfilename=getSaveName(UPLOAD_ROOT+str(site.get('id'))+'/',f.name)
            ufile.filename=f.name
            ufile.realfilename=newfilename
            ufile.size=f.size
            ufile.title=request.POST.get('pictitle','')
            ufile.type='att'
            ufile.site=WebSiteInfo.objects.get(pk=site.get('id'))
            ufile.user=request.user
            ufile.save()
            fileatt=open(UPLOAD_ROOT+str(site.get('id'))+'/'+newfilename,'wb+')
            for chunk in f.chunks():
                fileatt.write(chunk)
            fileatt.close()

        except Exception,e:
            ufile.delete()
            result['state']=errorInfo['DIR']

        else: