最近的一个项目分成web site和 admin site2个站点.然后就遇到一个web下new sign permit,然后到admin下审批的问题.问题的关键在于web下的那个功能有个上传文件的功能.文件可能是image,也可以是doc,pdf,如果是image就需要display.
问题在于2个站点并不能共享upload目录,也就是web上传的,admin并不能访问.查询了相关资料以后有以下几个解决方案:
1.存数据库2进制流,读取都方便
2.存IO stream, 存在服务器physical path,这样就不用care共享的问题了,2边都往同一个目录下upload.
第2个方法就有个读取显示图片的问题.不在server控制的目录下如何显示图片呢.显然不能简单的<image src="xxx.img" />,不可能简单的把物理路径写在image标签里,到了客户端根本没办法解析.这里就得用IO stream把图片取成 byte,然后response到一个单独的页面上
step1:
create empty page, in the page write init function
private void createImage(String imagePath)
{
if (imagePath != null && imagePath != String.Empty)
{
Response.ContentType = "image/jpeg";
byte[] bytes = null;
Stream stream = null;
try
{
stream = new FileStream(imagePath, FileMode.Open);
using (MemoryStream ms = new MemoryStream())
{
int b;
while ((b = stream.ReadByte()) != -1)
{
ms.WriteByte((byte)b);
}
bytes = ms.ToArray();
}
Response.BinaryWrite(bytes);
Response.Flush();
}
catch (Exception ex)
{
bytes = null;
}
finally
{
if (stream != null)
stream.Close();
}
}
}
这样就可以产生一个显示图片的页面
step 2: 把这个页面的url放到<image src="viewImage.aspx?"imagePath="xxx" />
这样就可以显示图片了.
另外download也可以用上面的strem做,只需要加上
Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);
Response.ContentType = type;
分享到:
相关推荐
ffmpeg
根据提供的文档信息,我们可以归纳出一系列与RapidIO(尽管文档中提到的是“Arria V Hard IP for PCI Express”,但基于题目要求我们聚焦于RapidIO)相关的关键知识点。接下来,我们将围绕这些知识点进行深入探讨。 ...
v-使用编辑图像 v-use-edit-image是Vue合成API库,用于使用canvas API编辑图像。 您可以像这样蒙版图像! 而且,您可以裁剪,插入字符串并在图像上方绘制图像。 (当前,此回购仅包含掩码示例...对不起!) :rocket:...
npm install use-image 用法 import React from 'react' ; import { Image } from 'react-konva' ; import useImage from 'use-image' ; const url = 'https://konvajs.github.io/assets/yoda.jpg' ; function ...
在本教程中,我们将深入探讨如何使用DeepStream SDK的Python API来提取YOLOv8模型。YOLO(You Only Look Once)是一种流行的实时目标检测算法,而DeepStream是由NVIDIA开发的一个强大的SDK,用于构建高性能的AI推理...
process_image_set_size_test.zip use python set image test
use Intervention\Image\ImageManagerStatic as Image; Image::configure(['driver' => 'imagick']); $image = Image::make('public/foo.jpg'); ``` #### 四、HTTP 响应 **1. 直接输出到浏览器** ```php $image ...
use IO::Socket::INET; my $server = IO::Socket::INET->new( LocalAddr => 'localhost', LocalPort => 8080, Proto => 'tcp', Listen => 5, ReuseAddr => 1 ) or die "Cannot bind: $!"; print "Server ...
axios.interceptors.response.use( response => { // 处理responseType,确保数据格式正确 return response; }, error => { // 错误处理 } ); ``` 4. **更新和兼容性**:确保你正在使用的MOCKJS和前端...
you can just use it like this Canvas2Image.saveAsImage(canvasObj, width, height, type) Canvas2Image.saveAsPNG(canvasObj, width, height) Canvas2Image.saveAsJPEG(canvasObj, width, height) Canvas2...
PHPSocket.IO 是 socket....$io->on('connection', function($socket)use($io){ $socket->on('chat message', function($msg)use($io){ $io->emit('chat message', $msg); }); }); 标签:PHPSocket
Configuring the Glance servers to use Keystone Configuring Glance API to use Keystone Configuring Glance Registry to use Keystone The Glance Image Cache Managing the Glance Image Cache Configuration ...
在C#中,可以使用`System.IO.Pipes`命名空间中的类来创建管道。这将使我们能够将摄像头的视频流作为输入,然后将其转发到其他进程。 2. **捕获摄像头流**: 使用ffmpeg命令行工具,设置`image2pipe`输入格式,从...
use Intervention\Image\Facades\Image; public function store(Request $request) { $image = $request->file('image'); $filename = time() . '.' . $image->getClientOriginalExtension(); // 使用 ...
use Intervention\Image\Facades\Image; $image = Image::make('public/image.jpg'); ``` `make` 方法接收一个文件路径或一个已经打开的图像资源,并返回一个 `Image` 对象,你可以在这个对象上执行各种操作。 接...
In conclusion, the research presented in "Signal Processing: Image Communication" focuses on enhancing the efficiency and reliability of image communication through the use of DASH in a CDN....
Whether for computer evaluation of otherworldly terrain or the latest high definition 3D blockbuster, digital image processing involves the acquisition, analysis, and processing of visual information ...
use Spatie\PdfToImage\Facades\PdfToImage; class PdfController extends Controller { public function convert(Request $request) { $pdfPath = $request->file('pdf')->getRealPath(); // 获取上传的 PDF ...