`
liuqiang
  • 浏览: 165356 次
  • 性别: Icon_minigender_1
  • 来自: 华东
社区版块
存档分类
最新评论

让rails处理图片再简单一点

    博客分类:
  • Ruby
阅读更多

      先来看看rails处理图片的过程吧,用户上传图片,首先要校验图片的格式,重命名用户提交的图片,保存至上传的目录,或许你会用file-column帮你简化一些工作,如果你对上传的图片大小有特别的要求,或许你又会找来RMagick来对图片进行裁剪再保存,在图片进行显示的时候,或许在某个地方图片要显示的大小尺寸和你之前裁剪的不一致,你又要写js代码来做等比缩放,那么有没有一种一次到位的方法呢?下面给大家推荐一款rails非常棒的插件-fleximage,基本可以帮你搞定所有的关于图片的那些事儿,以下是我初步使用fleximage后所了解到的一些特性:

 

  1 使用配置非常简单,基本不用写任何关于图片处理的代码!

  2 能够帮你校验图片的有效格式

  3 图片上传前可以与处理图片的格式和大小

  4 图片显示时仍可以裁剪成你所需要的格式和大小

  5 图片显示时可以加上一些效果,比如边框 颜色 标题

  6 图片在显示可以轻松进行格式转换

   ………………

下面让我们一步步来享受fleximage给我提供的好处吧:)

 

1 安装,ruby script/plugin install http://github.com/Squeegy/fleximage.git,貌似要求你的项目要在svn的控制下才可以安装,不过没关系,我会把插件放在附件中,直接拷到你的项目中即可。

 

2 建立与图片相关的model,在这里配置图片的上传目录,你无需去建这个目录,fleximage会自动生成,另外还有图片的预处理信息,比如图片格式、大小、是否必须等等,这些属性非常容易理解,如下:

 

class Picture < ActiveRecord::Base
  acts_as_fleximage :image_directory => 'public/upload'
  use_creation_date_based_directories true
  image_storage_format :jpg
  require_image true
  missing_image_message  'is required'
  invalid_image_message 'was not a readable image'
  default_image_path 'public/images/rails.png'
  output_image_jpg_quality  85
  preprocess_image do |image|
   image.resize '200x300'
  end
end 

 

3 上传图片,首先在路由中加上:map.resources :pictures,这里view中采用form_for标签,你也可以用普通form,但保证表单输入项和model属性对应起来。pictures控制器和提交图片的表单分别如下:

 

 

def new
    @picture = Picture.new
end

def create
    @picture = Picture.new params[:picture]
    @picture.update_time = Time.now
    @picture.create_time = Time.now
    if @picture.save
      redirect_to :action => "new"
    else
      flash[:notice] = 'Your photo did not pass validation!'
      render :action => 'new'
    end
  end

 

 

<%= flash[:notice] if flash[:notice] %>
<% form_for @picture, :url => { :action => "create" } , :html => { :multipart => true } do |f| %>
  <p>
    <b>标题</b><br />
    <%= f.text_field :title %>
  </p>
  <p>
    <b>上传图片</b><br />
    <%= f.file_field :image_file %><br />
    or URL: <%= f.text_field :url %>
  </p>
  <p>
    <%= f.submit "创建" %>
  </p>
<% end %>

  

 4 上传图片后会发现,在图片的上传目录下会有一个名字和数据库中保存的的新建记录id相同的图片,下面来显示它吧,在这里你可以再次定制你的图片显示效果,显示的图片是用fleximage自己的模板渲染的,该模板的命名是采用需要渲染图片的action的名字加上需要图片显示的格式再加flexi,比如show.jpg.flexi,这是约定好的,fleximage会自动拿它渲染需要在rails模板中显示的图片。模板分别如下:

 

rails模板:

<p> <%= image_tag formatted_picture_path(@picture, :gif) %> </p>

 

 fleximage模板:

@picture.operate do |image| end 

 

让我们看看效果吧:

 

 

 

5 现在发现我想把图片放大一点,还要用gif格式进行显示,并且加上边框 标题 颜色等,那在建一个fleximage模板来专门处理gif格式的图片,修改之前的视图如下:

 

<p> 
  <%= image_tag formatted_picture_path(@picture, :gif) %> 
</p>

@picture.operate do |image|
    image.resize '400x400', :crop => true
    image.border :size => 20, :color => 'green'
    image.text 'I am DHH'
    image.unsharp_mask
    image.shadow
 end
 

效果如下:

 

分享到:
评论
35 楼 kombest 2009-03-29  
能加水印 和 放缩大小, 如下

@picture.operate do |image|
  image.resize '140x180', :crop => true
  image.image_overlay 'public/images/logo.png',
    :alignment => :bottom_right,
    :offset => '20x20'
end


不错的Plugin,
可跟 attachment_fu 比有什么区别和优势呢
34 楼 tanggq 2009-03-23  
能加水印
缩放吗?
我win下用rmagick出现这个错误
undefined method `cur_image'

大侠们知道是什么问题吗?
33 楼 kamama 2009-03-18  
问题暂时解决了,下载地址http://www.microsoft.com/downloads/thankyou.aspx?familyId=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displayLang=zh-cn
见这个讨论的贴
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=12972
32 楼 kamama 2009-03-18  
hexawing 写道
按照网上说的,先gem install xxx,再安装imagemagickxxxx.exe,然后再设环境变量里的path,最后测试这段代码:
Ruby代码
require 'RMagick'   
include Magick   
pic = ImageList.new("vd2.jpg")   
l = pic.columns > pic.rows ? pic.columns : pic.rows   
f = 128.0/l;   
thumb = pic.thumbnail(f)   
thumb.write("vd2_tb.jpg") 

 
结果…………不行……
后来发现要先“require 'rubygems' ”一下才行,当然这不是主要问题,主要问题是:我光require啊include啊都没问题,一旦把pic = ImageList.new("vd2.jpg")这一行加上,就会报错,Ruby.exe的runtime error什么什么的,而且连报四五个=_=

有人遇到过这种情况么?麻烦讲解一下是哪里不对吧……Ruby的版本问题?我的Ruby是1.8.6,下载的那个包叫“RMagick-2.9.0-ImageMagick-6.4.8-6-Q8.zip”

我也遇到这个问题.是不是版本的问题?
一运行调用到fleximage的东西,就跳出错误提示窗口.
runtime error
program \bin\ruby
r6034
调用c库的时候不正确?
31 楼 amonlei 2009-03-09  
qichunren 写道
qichunren 写道

它是在图片显示的时候在内存中进行处理的,不过这样也带来一个问题,第次显示图片都要用RMagick进行图片处理,加大了服务器的压力。有时这样处理是不是更好:我既要显示一个缩略图,又要原图,用以前的方法是直接在服务器上生成了一个缩略图,图片第次显示的时候直接显示缩略图原样,服务器不用即时处理,这样是不是好一些?

我今天弄了一下午的这个Fleximage,给我的感觉就是方便级了,不过我是不会使用这个插件的,好失望。

这个插件方便所带来的问题就是性能!

每次action render那个show.png.flexi模板时,好花费时间啊。
就如我上面用Product展示这个例子吧,在商品列表页面,我要显示一个小的略略图(我用gif来显示小图,然后在商品详细页面使用JPG显示大图),
有这样的一列:<td><%= image_tag formatted_product_path(product, :gif) %></td>

如果index页面的@products的size为10(现实情况中可以这个数字大得多),我查看log,一共请求了11次,那10次请求就是用来处理生成图片缩略图(请求show.gif.flexi模板),这样下来真的是不划算啊,我每次打开index页面,明显看到ff的进度条在不断向前推进,那就是在处理图片啊。

所以还是放弃这个插件,哎,无奈!

file_column和attach_fu,不知道哪一个会好一点。


性能问题?确实存在,不过应该没有看官网把?上面建议要用cache,不然,机器就会被拖死,详细看官网把
30 楼 hexawing 2009-03-04  
按照网上说的,先gem install xxx,再安装imagemagickxxxx.exe,然后再设环境变量里的path,最后测试这段代码:
Ruby代码
require 'RMagick'   
include Magick   
pic = ImageList.new("vd2.jpg")   
l = pic.columns > pic.rows ? pic.columns : pic.rows   
f = 128.0/l;   
thumb = pic.thumbnail(f)   
thumb.write("vd2_tb.jpg") 

 
结果…………不行……
后来发现要先“require 'rubygems' ”一下才行,当然这不是主要问题,主要问题是:我光require啊include啊都没问题,一旦把pic = ImageList.new("vd2.jpg")这一行加上,就会报错,Ruby.exe的runtime error什么什么的,而且连报四五个=_=

有人遇到过这种情况么?麻烦讲解一下是哪里不对吧……Ruby的版本问题?我的Ruby是1.8.6,下载的那个包叫“RMagick-2.9.0-ImageMagick-6.4.8-6-Q8.zip”
29 楼 amonlei 2009-03-01  
shanghaichris 写道
好像不能搭配使用remote_form_for,否则就不能上传图片,还是我哪里做错了?

考虑到安全方面的问题,xmlrequest不支持文件传输,可以考虑form + iframe的方式,可以实现类似效果
28 楼 liuqiang 2009-03-01  
kenrome 写道
还是没有回答一个问题,就是在使用fleximage插件的时候,与所建的这个Pictures表的字段是怎样关联的?

如果是file_column,则可以通过 file_column :image_src  方式来制定将图片名保存到image_src个字段,
如果是attachment_fu,则会创建符合插件自身需求的好几个字段来保存图片信息。

我测试了一下fleximage,当按照我已经创建好的字段来作上传:
<p>
    <%= f.label :src %><br />
    <%= f.file_field :src  %>
  </p>
系统会提示错误:Image file is required
然后我改成:
<p>
    <%= f.label :src %><br />
    <%= f.file_field :image_file  %>
  </p>
发现图片上传成功,不过,根本就没跟pictures表的任何一个字段挂钩!我错在哪里?


约定大于配置,根据model对象的id就可以找到图片!

偶现在上传图片是自己封装mini_magick,也是用model对象的id作为图片名
27 楼 amonlei 2009-02-28  
怎么加水印?
26 楼 kenrome 2009-01-11  
还是没有回答一个问题,就是在使用fleximage插件的时候,与所建的这个Pictures表的字段是怎样关联的?

如果是file_column,则可以通过 file_column :image_src  方式来制定将图片名保存到image_src个字段,
如果是attachment_fu,则会创建符合插件自身需求的好几个字段来保存图片信息。

我测试了一下fleximage,当按照我已经创建好的字段来作上传:
<p>
    <%= f.label :src %><br />
    <%= f.file_field :src  %>
  </p>
系统会提示错误:Image file is required
然后我改成:
<p>
    <%= f.label :src %><br />
    <%= f.file_field :image_file  %>
  </p>
发现图片上传成功,不过,根本就没跟pictures表的任何一个字段挂钩!我错在哪里?
25 楼 sunchaohui_koko 2008-12-24  
leon0122 写道

我按照上面的步骤做的时候,生成model&nbsp; picture就会报错: ERROR :: FlexImage requires the RMagick gem.&nbsp; http://rmagick.rubyforge.org/install-faq.html ERROR :: FlexImage requires the RMagick gem.&nbsp; http://rmagick.rubyforge.org/install-faq.html 我用的是netbeans6.0 不知道楼主用的rails是什么版本的?? 我也下载了rmagick-2.5.2.gem 也不行,不知道是不是版本的问题

win32-xxx.exe也需要安装的,不过也要注意重启netbeans if netbeans!
24 楼 花花公子 2008-10-08  
要提高性能就自己使用 image_science(这个gem只能用来缩放图像),attachment_fu已经把支持包含进去了。安装也很简单,先安装FreeImage这个图片操作库,再 gem install image_science就好了。
23 楼 shanghaichris 2008-10-08  
好像不能搭配使用remote_form_for,否则就不能上传图片,还是我哪里做错了?
22 楼 MaiKuraki 2008-09-10  
qichunren 写道
qichunren 写道

它是在图片显示的时候在内存中进行处理的,不过这样也带来一个问题,第次显示图片都要用RMagick进行图片处理,加大了服务器的压力。有时这样处理是不是更好:我既要显示一个缩略图,又要原图,用以前的方法是直接在服务器上生成了一个缩略图,图片第次显示的时候直接显示缩略图原样,服务器不用即时处理,这样是不是好一些?

我今天弄了一下午的这个Fleximage,给我的感觉就是方便级了,不过我是不会使用这个插件的,好失望。

这个插件方便所带来的问题就是性能!

每次action render那个show.png.flexi模板时,好花费时间啊。
就如我上面用Product展示这个例子吧,在商品列表页面,我要显示一个小的略略图(我用gif来显示小图,然后在商品详细页面使用JPG显示大图),
有这样的一列:<td><%= image_tag formatted_product_path(product, :gif) %></td>

如果index页面的@products的size为10(现实情况中可以这个数字大得多),我查看log,一共请求了11次,那10次请求就是用来处理生成图片缩略图(请求show.gif.flexi模板),这样下来真的是不划算啊,我每次打开index页面,明显看到ff的进度条在不断向前推进,那就是在处理图片啊。

所以还是放弃这个插件,哎,无奈!

file_column和attach_fu,不知道哪一个会好一点。



cache了没有???
21 楼 qichunren 2008-08-29  
qichunren 写道

它是在图片显示的时候在内存中进行处理的,不过这样也带来一个问题,第次显示图片都要用RMagick进行图片处理,加大了服务器的压力。有时这样处理是不是更好:我既要显示一个缩略图,又要原图,用以前的方法是直接在服务器上生成了一个缩略图,图片第次显示的时候直接显示缩略图原样,服务器不用即时处理,这样是不是好一些?

我今天弄了一下午的这个Fleximage,给我的感觉就是方便级了,不过我是不会使用这个插件的,好失望。

这个插件方便所带来的问题就是性能!

每次action render那个show.png.flexi模板时,好花费时间啊。
就如我上面用Product展示这个例子吧,在商品列表页面,我要显示一个小的略略图(我用gif来显示小图,然后在商品详细页面使用JPG显示大图),
有这样的一列:<td><%= image_tag formatted_product_path(product, :gif) %></td>

如果index页面的@products的size为10(现实情况中可以这个数字大得多),我查看log,一共请求了11次,那10次请求就是用来处理生成图片缩略图(请求show.gif.flexi模板),这样下来真的是不划算啊,我每次打开index页面,明显看到ff的进度条在不断向前推进,那就是在处理图片啊。

所以还是放弃这个插件,哎,无奈!

file_column和attach_fu,不知道哪一个会好一点。
20 楼 qichunren 2008-08-29  
liuqiang 写道
在图片显示的时候做了处理,估计是生成了js对图片做了处理
这个东西非常好用,口碑也不错,强烈推荐使用



怎么可能是这样?JS有对图片操作的API吗?是Fleximage调用了Rmagick的API对图片进行了处理,这一切都是在内存中进行的,也就是说处理后的图片是生成好的放在内存中,你可以将图片保存到本地看看,是不是这样的。

它是在图片显示的时候在内存中进行处理的,不过这样也带来一个问题,第次显示图片都要用RMagick进行图片处理,加大了服务器的压力。有时这样处理是不是更好:我既要显示一个缩略图,又要原图,用以前的方法是直接在服务器上生成了一个缩略图,图片第次显示的时候直接显示缩略图原样,服务器不用即时处理,这样是不是好一些?

另外,这插件的确不错,对于对一个Model(如商品)加上一个图片功能的确方便, 不用修改Product的属性(表字段),只需要加上acts_as_fleximage :image_directory => 'public/upload'这些代码就立刻让商品有了"商品预览功能",不过我现在有一个问题,如果一个商品要有多个图片,则不能这样简单的手段来处理了吧,难道又要像以前那样建立一个关联的model,不知道还有什么方便的方法没有?(这插件都已经这么好用了,我还是贪心啊)
19 楼 liuqiang 2008-08-29  
<p>在show.rhtml文件中写 <br/>&lt;%= image_tag formatted_picture_path(@picture, :png) %&gt;,这个你做的没错。 <br/><br/>另外,在show同一目录下,新建一个文件:show.png.flexi, <br/>输入: <br/>@picture.operate do |image| end </p>
<p> </p>
18 楼 qichunren 2008-08-29  
我做这个,图片不能显示。
我是这样做的:
使用generate scaffold web name:string
然后给Web这个Model加上你帖子中所说的那些。
然后改了一下new页面的标签,使表单可以上传图片了。
现在在show页面,我按你介绍的使用<%= image_tag formatted_web_path(@web, :png) %>
,结果图片不能显示,我查询html代码,输入的是<img alt="3" src="/webs/3.png" />
请指点一下:)

另外你的帖子中:
引用

显示的图片是用fleximage自己的模板渲染的,该模板的命名是采用需要渲染图片的action的名字加上需要图片显示的格式再加flexi,比如show.jpg.flexi,这是约定好的,fleximage会自动拿它渲染需要在rails模板中显示的图片。模板分别如下:



rails模板:

<p> <%= image_tag formatted_picture_path(@picture, :gif) %> </p>



fleximage模板:

@picture.operate do |image| end
是什么意思,我一时没有看明白,反正我没有用其它的模块,我直接使用scaffold生成的show那个页面。
17 楼 amonlei 2008-08-23  
如果做rails集群,那不是很麻烦?多个rails服务器如何共享?搞共享目录????
16 楼 liuqiang 2008-08-22  
Pictrure模型对应的是数据库表不是字段

相关推荐

    3DGallery:连接到Web服务并在MySQL中存储用户图库的Rails应用程序。 WebGL还与Three.js一起成为其荣耀所在

    3DGallery是一个基于Ruby on Rails框架构建的应用程序,它旨在提供一个独特的用户体验,让用户能够展示和管理他们的三维图像图库。这个项目的核心特性是利用WebGL技术,这是一种在浏览器中实现3D图形渲染的标准,...

    ReactReduxExample:在本教程中,我们将看到如何使用示例连接React和Redux。 对于这个简单的演示,我们将不使用任何后端。 我们将在下一个教程中做到这一点。 我们使此示例非常简单,并使其在客户端运行。 我们创建一个简单的帖子并显示它,但是我们将通过Redux商店对其进行管理。 我们可以创建和删除帖子,而我们的商店将处理所有数据。 我们将Bootstrap 4用于前端

    添加图像,字体和文件 使用public文件夹 更改HTML 在模块系统之外添加资产 何时使用public文件夹 使用全局变量 添加引导程序使用自定义主题 增加流量 添加路由器 添加自定义环境变量 在HTML中引用环境变量 在Shell...

    ASP EXCEL导入SQL

     361CRM平台的配置功能的强大,并不以损失平台应用的易用性为基础,361CRM平台在操作上采用引导式操作,以及提供方便易用的在线帮助,大大地降低了系统使用的复杂度,使系统更加地人性化、简易化。  实时即时  ...

    projet_thp6:JOUR17

    2. **游戏框架**:Ruby有一些游戏开发框架,如Gosu,它提供了一种简单的方式来创建2D游戏。开发者可以利用Gosu处理图形、音频、输入等游戏基本元素。 3. **对象编程**:Ruby是一种强面向对象的语言,游戏中的角色、...

    基于STM32蓝牙控制小车系统设计(硬件+源代码+论文)

    基于STM32蓝牙控制小车系统设计(硬件+源代码+论文)

    某汽车联合车间工艺布置图.zip

    某汽车联合车间工艺布置图.zip

    统计学中的因果推断.pdf

    统计学中的因果推断

    轻量级的PHP地址发布页源码.zip

    1:后台登录地址为/admin/login.php,提供便捷的配置入口。 2:默认用户名是admin,密码为password123,首次登录后可。 3:使用方法:上传到虚拟机或服务器并解压,访问首页查看效果, 4:进入后台可编辑3个固定修改链接、添加或删除额外链接、设置底部文字及选择模板。 5:底部文字通过转义处理,不支持HTML,确保输出安全。 6:无论是个人项目还是分享导航,LinkEase都提供简单的解决方案。

    blast_furnace_front_on.png

    blast_furnace_front_on

    wither_rose.png

    j

    h5py-3.13.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

    该资源为h5py-3.13.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl,欢迎下载使用哦!

    【数字图像处理】形态学处理与纹理分析技术:边界提取、孔洞填充及组件标记的应用研究

    内容概要:本文档是关于数字图像处理课程作业的报告,主要分为两个部分:形态学处理和纹理分析。形态学处理部分涵盖边界提取、孔洞填充和组件标记三个任务,详细描述了每个任务的具体步骤和方法,如通过形态学方法找到白色图案的内部区域并进行边界提取,利用连通分量标记技术进行孔洞填充,以及采用4邻接和8邻接方式对对象进行组件标记。纹理分析部分则介绍了使用Law's方法获取特征向量的过程,包括卷积和能量计算,还展示了如何用K-means算法对像素进行分类,并提出了一些改进措施,如调整窗口大小、优化K值选择等。 适合人群:具有图像处理基础知识的学生或研究人员,特别是正在学习数字图像处理课程的人士。 使用场景及目标:①帮助学生理解形态学处理的基本概念和技术,如边界提取、孔洞填充和组件标记;②指导学生掌握纹理分析的方法,如Law's方法和K-means聚类算法的应用;③通过实例操作提高学生的实践能力和问题解决能力。 阅读建议:此文档为课程作业报告,内容较为具体和技术化,建议读者先了解基本的形态学处理和纹理分析理论,再结合文档中的具体步骤进行实践操作,以便更好地理解和掌握相关知识。

    MP0 Set up xv6.pdf操作系统基于Docker和QEMU的xv6环境搭建与简单进程通信实验:教学操作系统实践

    内容概要:本文介绍了如何设置xv6操作系统的学习环境。xv6是MIT创建的一个用于教学的类Unix内核示例。文章首先解释了为什么选择Docker作为虚拟化工具,强调了其轻量级的特点,并指导读者安装Docker。接着详细描述了从克隆GitHub仓库到加载Docker镜像的具体步骤,以及如何使用QEMU模拟器在非RISC-V架构上启动xv6。最后提供了一个简单的练习,要求编写一个名为detective的程序,利用UNIX系统调用来查找特定名称的文件,并通过管道在父子进程间通信。 适合人群:具备一定C语言编程能力和系统编程经验的学生或开发者,尤其是对操作系统原理感兴趣的人士。 使用场景及目标:①学习Docker的安装与配置,理解容器化技术的优势;②掌握xv6内核的基本操作,包括编译和运行;③通过完成detective程序,深入理解进程管理、文件系统遍历和进程间通信等操作系统核心概念。 阅读建议:建议读者按照文档逐步实践,确保每一步都能成功执行。由于部分命令和工具基于Linux平台,推荐在Linux环境下进行操作。此外,在动手之前先阅读xv6参考书籍的第一章,有助于更好地理解和完成练习。

    糖化、水罐及CIP工艺流程.rar

    糖化、水罐及CIP工艺流程.rar

    activator_rail_on.png

    activator_rail_on

    液压剪式升降平台(step SolidWorks)设计.rar

    液压剪式升降平台(step SolidWorks)设计.rar

    【操作系统领域】HarmonyOS的Linux内核子集(LOS)技术解析:智能设备核心支撑与未来发展趋势

    内容概要:本文详细介绍了HarmonyOS及其Linux内核子集(LOS)。HarmonyOS是华为自主研发的面向全场景的分布式操作系统,旨在打破国外操作系统垄断,推动国产操作系统发展。LOS作为HarmonyOS的重要组成部分,位于内核层,负责管理硬件资源、内存、文件系统和网络等。LOS具有虚拟内存管理、进程隔离、强大的网络支持、高效的文件系统、多线程编程支持和任务调度机制等技术特点。LOS在智能手机、智能家居设备和智能穿戴设备等领域发挥了重要作用,确保了系统的性能、稳定性和低功耗。与Linux原生内核和鸿蒙微内核相比,LOS在功能特性、性能表现和适用场景上有明显优势,并且与鸿蒙微内核协同工作,共同推动HarmonyOS的发展。未来,LOS将在安全性、性能优化和新功能支持等方面取得更大突破,推动HarmonyOS生态的繁荣发展。 适合人群:对操作系统底层技术感兴趣的开发者、科技爱好者以及从事智能设备相关领域的工程师。 使用场景及目标:①深入了解HarmonyOS及其内核子集(LOS)的技术特点和应用场景;②为开发基于HarmonyOS的智能设备提供理论支持和技术参考;③探索LOS在不同智能设备中的优化和应用,推动智能设备的创新和发展。 其他说明:本文不仅介绍了LOS的技术细节,还探讨了其与鸿蒙微内核的区别和协同工作方式,以及对未来发展的展望。这有助于读者全面理解HarmonyOS的内核架构和技术优势,为未来的开发和研究提供指导。

    第三章习题作业.docx

    第三章习题作业.docx

    openssl-3.5.0-multiple-Kylin-Server-V10-GFB-arm64.tar.gz

    为了解决信创环境下不能连网,因此在Kylin Server V10 下编译了openssl最新版本,而且做成了离线安装的脚本,安装步骤如下所示: 1. 解压软件包 [root@daolian ~]# tar -zxvf openssl-3.5.0-202504152120-multiple-Kylin-Server-V10-GFB-arm64.tar.gz 2. 查看目录中内容 [root@daolian nginx]# ls openssl.tar.gz setup.sh 3.安装 [root@daolian openssl]# ./setup.sh OPENSSL 3.5.0 INSTALL Sucesses 4.查看版本号 root@daolian:~# openssl version -a OpenSSL 3.5.0 8 Apr 2025 (Library: OpenSSL 3.5.0 8 Apr 2025) built on: Tue Apr 15 12:43:51 2025 UTC platform: linux-aarch64 options: bn(64,64)

    模具-Φ146.6药瓶注塑模设计.zip

    模具-Φ146.6药瓶注塑模设计.zip

Global site tag (gtag.js) - Google Analytics